import * as z from "zod/v4";
import { OpenEnum } from "../types/enums.js";
import { Result as SafeParseResult } from "../types/fp.js";
import { SDKValidationError } from "./errors/sdkvalidationerror.js";
export declare const AllowedCaller: {
    readonly Direct: "direct";
    readonly Programmatic: "programmatic";
};
export type AllowedCaller = OpenEnum<typeof AllowedCaller>;
/**
 * A function tool grouped inside a namespace tool
 */
export type NamespaceFunctionTool = {
    allowedCallers?: Array<AllowedCaller> | null | undefined;
    deferLoading?: boolean | undefined;
    description?: string | null | undefined;
    name: string;
    outputSchema?: {
        [k: string]: any;
    } | null | undefined;
    parameters?: {
        [k: string]: any;
    } | null | undefined;
    strict?: boolean | null | undefined;
    type: "function";
};
/** @internal */
export declare const AllowedCaller$inboundSchema: z.ZodType<AllowedCaller, unknown>;
/** @internal */
export declare const AllowedCaller$outboundSchema: z.ZodType<string, AllowedCaller>;
/** @internal */
export declare const NamespaceFunctionTool$inboundSchema: z.ZodType<NamespaceFunctionTool, unknown>;
/** @internal */
export type NamespaceFunctionTool$Outbound = {
    allowed_callers?: Array<string> | null | undefined;
    defer_loading?: boolean | undefined;
    description?: string | null | undefined;
    name: string;
    output_schema?: {
        [k: string]: any;
    } | null | undefined;
    parameters?: {
        [k: string]: any;
    } | null | undefined;
    strict?: boolean | null | undefined;
    type: "function";
};
/** @internal */
export declare const NamespaceFunctionTool$outboundSchema: z.ZodType<NamespaceFunctionTool$Outbound, NamespaceFunctionTool>;
export declare function namespaceFunctionToolToJSON(namespaceFunctionTool: NamespaceFunctionTool): string;
export declare function namespaceFunctionToolFromJSON(jsonString: string): SafeParseResult<NamespaceFunctionTool, SDKValidationError>;
//# sourceMappingURL=namespacefunctiontool.d.ts.map