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