import { z, ZodRawShape, ZodObject } from 'zod';
interface BaseParameter {
    name: string;
    description: string;
    authSources?: string[];
    required?: boolean;
}
interface StringParameter extends BaseParameter {
    type: 'string';
}
interface IntegerParameter extends BaseParameter {
    type: 'integer';
}
interface FloatParameter extends BaseParameter {
    type: 'float';
}
interface BooleanParameter extends BaseParameter {
    type: 'boolean';
}
interface ArrayParameter extends BaseParameter {
    type: 'array';
    items: ParameterSchema;
}
export type ParameterSchema = StringParameter | IntegerParameter | FloatParameter | BooleanParameter | ArrayParameter;
export declare const ZodParameterSchema: z.ZodType<ParameterSchema>;
export declare const ZodToolSchema: z.ZodObject<{
    description: z.ZodString;
    parameters: z.ZodArray<z.ZodType<ParameterSchema, unknown, z.core.$ZodTypeInternals<ParameterSchema, unknown>>>;
    authRequired: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export declare const ZodManifestSchema: z.ZodObject<{
    serverVersion: z.ZodString;
    tools: z.ZodRecord<z.ZodString, z.ZodObject<{
        description: z.ZodString;
        parameters: z.ZodArray<z.ZodType<ParameterSchema, unknown, z.core.$ZodTypeInternals<ParameterSchema, unknown>>>;
        authRequired: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type ZodManifest = z.infer<typeof ZodManifestSchema>;
/**
 * Creates a ZodObject schema from an array of ParameterSchema (TypeScript types).
 * This combined schema is used by ToolboxTool to validate its call arguments.
 * @param params Array of ParameterSchema objects.
 * @returns A ZodObject schema.
 */
export declare function createZodSchemaFromParams(params: ParameterSchema[]): ZodObject<ZodRawShape>;
export {};
