import { z } from 'zod';
export declare const CollectionsValidateSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    action: z.ZodLiteral<"create">;
    data: z.ZodArray<z.ZodObject<{
        collection: z.ZodString;
        fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            type: z.ZodString;
            name: z.ZodOptional<z.ZodString>;
            children: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>, z.ZodNull]>>;
            collection: z.ZodOptional<z.ZodString>;
            schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodNull]>>;
            meta: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodNull]>>;
        }, z.core.$strip>>>;
        meta: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodNull]>>;
        schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{}, z.core.$strip>, z.ZodNull]>>;
    }, z.core.$strip>>;
}, z.core.$strict>, z.ZodObject<{
    action: z.ZodLiteral<"read">;
    keys: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>, z.ZodObject<{
    action: z.ZodLiteral<"update">;
    data: z.ZodArray<z.ZodObject<{
        collection: z.ZodString;
        meta: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodNull]>>;
        schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodNull]>>;
    }, z.core.$strip>>;
}, z.core.$strict>, z.ZodObject<{
    action: z.ZodLiteral<"delete">;
    keys: z.ZodArray<z.ZodString>;
}, z.core.$strict>], "action">;
export declare const CollectionsInputSchema: z.ZodObject<{
    action: z.ZodEnum<{
        delete: "delete";
        update: "update";
        create: "create";
        read: "read";
    }>;
    keys: z.ZodOptional<z.ZodArray<z.ZodString>>;
    data: z.ZodOptional<z.ZodArray<z.ZodObject<{
        collection: z.ZodString;
        fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            type: z.ZodString;
            name: z.ZodOptional<z.ZodString>;
            children: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>, z.ZodNull]>>;
            collection: z.ZodOptional<z.ZodString>;
            schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodNull]>>;
            meta: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodNull]>>;
        }, z.core.$strip>>>;
        meta: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodNull]>>;
        schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{}, z.core.$strip>, z.ZodNull]>>;
    }, z.core.$strip>>>;
}, z.core.$strip>;
export declare const collections: import("../types.js").ToolConfig<{
    action: "create";
    data: {
        collection: string;
        fields?: {
            field: string;
            type: string;
            name?: string | undefined;
            children?: Record<string, any>[] | null | undefined;
            collection?: string | undefined;
            schema?: Record<string, any> | null | undefined;
            meta?: Record<string, any> | null | undefined;
        }[] | undefined;
        meta?: Record<string, any> | null | undefined;
        schema?: Record<string, never> | null | undefined;
    }[];
} | {
    action: "read";
    keys?: string[] | undefined;
} | {
    action: "update";
    data: {
        collection: string;
        meta?: Record<string, any> | null | undefined;
        schema?: Record<string, any> | null | undefined;
    }[];
} | {
    action: "delete";
    keys: string[];
}>;
