import { z } from 'zod';
export declare const StringFragmentSchema: z.ZodObject<{
    type: z.ZodLiteral<"string">;
    value: z.ZodString;
    isComplete: z.ZodLiteral<true>;
}, "strip", z.ZodTypeAny, {
    type: "string";
    value: string;
    isComplete: true;
}, {
    type: "string";
    value: string;
    isComplete: true;
}>;
export declare const BooleanFragmentSchema: z.ZodObject<{
    type: z.ZodLiteral<"boolean">;
    value: z.ZodBoolean;
    isComplete: z.ZodLiteral<true>;
}, "strip", z.ZodTypeAny, {
    type: "boolean";
    value: boolean;
    isComplete: true;
}, {
    type: "boolean";
    value: boolean;
    isComplete: true;
}>;
declare const PrimitiveFragmentsSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
    type: z.ZodLiteral<"string">;
    value: z.ZodString;
    isComplete: z.ZodLiteral<true>;
}, "strip", z.ZodTypeAny, {
    type: "string";
    value: string;
    isComplete: true;
}, {
    type: "string";
    value: string;
    isComplete: true;
}>, z.ZodObject<{
    type: z.ZodLiteral<"boolean">;
    value: z.ZodBoolean;
    isComplete: z.ZodLiteral<true>;
}, "strip", z.ZodTypeAny, {
    type: "boolean";
    value: boolean;
    isComplete: true;
}, {
    type: "boolean";
    value: boolean;
    isComplete: true;
}>]>;
export declare const ArrayFragmentSchema: z.ZodObject<{
    type: z.ZodLiteral<"array">;
    items: z.ZodEffects<z.ZodArray<z.ZodAny, "many">, ({
        type: "string";
        value: string;
        isComplete: true;
    } | {
        type: "boolean";
        value: boolean;
        isComplete: true;
    })[], any[]>;
    isComplete: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    type: "array";
    items: ({
        type: "string";
        value: string;
        isComplete: true;
    } | {
        type: "boolean";
        value: boolean;
        isComplete: true;
    })[];
    isComplete: boolean;
}, {
    type: "array";
    items: any[];
    isComplete: boolean;
}>;
declare const ValueFragmentsSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
    type: z.ZodLiteral<"string">;
    value: z.ZodString;
    isComplete: z.ZodLiteral<true>;
}, "strip", z.ZodTypeAny, {
    type: "string";
    value: string;
    isComplete: true;
}, {
    type: "string";
    value: string;
    isComplete: true;
}>, z.ZodObject<{
    type: z.ZodLiteral<"boolean">;
    value: z.ZodBoolean;
    isComplete: z.ZodLiteral<true>;
}, "strip", z.ZodTypeAny, {
    type: "boolean";
    value: boolean;
    isComplete: true;
}, {
    type: "boolean";
    value: boolean;
    isComplete: true;
}>, z.ZodObject<{
    type: z.ZodLiteral<"array">;
    items: z.ZodEffects<z.ZodArray<z.ZodAny, "many">, ({
        type: "string";
        value: string;
        isComplete: true;
    } | {
        type: "boolean";
        value: boolean;
        isComplete: true;
    })[], any[]>;
    isComplete: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    type: "array";
    items: ({
        type: "string";
        value: string;
        isComplete: true;
    } | {
        type: "boolean";
        value: boolean;
        isComplete: true;
    })[];
    isComplete: boolean;
}, {
    type: "array";
    items: any[];
    isComplete: boolean;
}>]>;
export declare const RecordFragmentSchema: z.ZodObject<{
    type: z.ZodLiteral<"record">;
    children: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
        type: "string";
        value: string;
        isComplete: true;
    } | {
        type: "boolean";
        value: boolean;
        isComplete: true;
    } | {
        type: "array";
        items: ({
            type: "string";
            value: string;
            isComplete: true;
        } | {
            type: "boolean";
            value: boolean;
            isComplete: true;
        })[];
        isComplete: boolean;
    }>, Record<string, any>>;
    isComplete: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    type: "record";
    children: Record<string, {
        type: "string";
        value: string;
        isComplete: true;
    } | {
        type: "boolean";
        value: boolean;
        isComplete: true;
    } | {
        type: "array";
        items: ({
            type: "string";
            value: string;
            isComplete: true;
        } | {
            type: "boolean";
            value: boolean;
            isComplete: true;
        })[];
        isComplete: boolean;
    }>;
    isComplete: boolean;
}, {
    type: "record";
    children: Record<string, any>;
    isComplete: boolean;
}>;
export declare const AttributeFragmentSchema: z.ZodObject<{
    type: z.ZodLiteral<"attribute">;
    name: z.ZodString;
    value: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
        type: z.ZodLiteral<"string">;
        value: z.ZodString;
        isComplete: z.ZodLiteral<true>;
    }, "strip", z.ZodTypeAny, {
        type: "string";
        value: string;
        isComplete: true;
    }, {
        type: "string";
        value: string;
        isComplete: true;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"boolean">;
        value: z.ZodBoolean;
        isComplete: z.ZodLiteral<true>;
    }, "strip", z.ZodTypeAny, {
        type: "boolean";
        value: boolean;
        isComplete: true;
    }, {
        type: "boolean";
        value: boolean;
        isComplete: true;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"array">;
        items: z.ZodEffects<z.ZodArray<z.ZodAny, "many">, ({
            type: "string";
            value: string;
            isComplete: true;
        } | {
            type: "boolean";
            value: boolean;
            isComplete: true;
        })[], any[]>;
        isComplete: z.ZodBoolean;
    }, "strip", z.ZodTypeAny, {
        type: "array";
        items: ({
            type: "string";
            value: string;
            isComplete: true;
        } | {
            type: "boolean";
            value: boolean;
            isComplete: true;
        })[];
        isComplete: boolean;
    }, {
        type: "array";
        items: any[];
        isComplete: boolean;
    }>]>>;
    isComplete: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    name: string;
    type: "attribute";
    isComplete: boolean;
    value?: {
        type: "string";
        value: string;
        isComplete: true;
    } | {
        type: "boolean";
        value: boolean;
        isComplete: true;
    } | {
        type: "array";
        items: ({
            type: "string";
            value: string;
            isComplete: true;
        } | {
            type: "boolean";
            value: boolean;
            isComplete: true;
        })[];
        isComplete: boolean;
    } | undefined;
}, {
    name: string;
    type: "attribute";
    isComplete: boolean;
    value?: {
        type: "string";
        value: string;
        isComplete: true;
    } | {
        type: "boolean";
        value: boolean;
        isComplete: true;
    } | {
        type: "array";
        items: any[];
        isComplete: boolean;
    } | undefined;
}>;
declare const AllFragmentsSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
    type: z.ZodLiteral<"array">;
    items: z.ZodEffects<z.ZodArray<z.ZodAny, "many">, ({
        type: "string";
        value: string;
        isComplete: true;
    } | {
        type: "boolean";
        value: boolean;
        isComplete: true;
    })[], any[]>;
    isComplete: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    type: "array";
    items: ({
        type: "string";
        value: string;
        isComplete: true;
    } | {
        type: "boolean";
        value: boolean;
        isComplete: true;
    })[];
    isComplete: boolean;
}, {
    type: "array";
    items: any[];
    isComplete: boolean;
}>, z.ZodObject<{
    type: z.ZodLiteral<"attribute">;
    name: z.ZodString;
    value: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
        type: z.ZodLiteral<"string">;
        value: z.ZodString;
        isComplete: z.ZodLiteral<true>;
    }, "strip", z.ZodTypeAny, {
        type: "string";
        value: string;
        isComplete: true;
    }, {
        type: "string";
        value: string;
        isComplete: true;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"boolean">;
        value: z.ZodBoolean;
        isComplete: z.ZodLiteral<true>;
    }, "strip", z.ZodTypeAny, {
        type: "boolean";
        value: boolean;
        isComplete: true;
    }, {
        type: "boolean";
        value: boolean;
        isComplete: true;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"array">;
        items: z.ZodEffects<z.ZodArray<z.ZodAny, "many">, ({
            type: "string";
            value: string;
            isComplete: true;
        } | {
            type: "boolean";
            value: boolean;
            isComplete: true;
        })[], any[]>;
        isComplete: z.ZodBoolean;
    }, "strip", z.ZodTypeAny, {
        type: "array";
        items: ({
            type: "string";
            value: string;
            isComplete: true;
        } | {
            type: "boolean";
            value: boolean;
            isComplete: true;
        })[];
        isComplete: boolean;
    }, {
        type: "array";
        items: any[];
        isComplete: boolean;
    }>]>>;
    isComplete: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    name: string;
    type: "attribute";
    isComplete: boolean;
    value?: {
        type: "string";
        value: string;
        isComplete: true;
    } | {
        type: "boolean";
        value: boolean;
        isComplete: true;
    } | {
        type: "array";
        items: ({
            type: "string";
            value: string;
            isComplete: true;
        } | {
            type: "boolean";
            value: boolean;
            isComplete: true;
        })[];
        isComplete: boolean;
    } | undefined;
}, {
    name: string;
    type: "attribute";
    isComplete: boolean;
    value?: {
        type: "string";
        value: string;
        isComplete: true;
    } | {
        type: "boolean";
        value: boolean;
        isComplete: true;
    } | {
        type: "array";
        items: any[];
        isComplete: boolean;
    } | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"boolean">;
    value: z.ZodBoolean;
    isComplete: z.ZodLiteral<true>;
}, "strip", z.ZodTypeAny, {
    type: "boolean";
    value: boolean;
    isComplete: true;
}, {
    type: "boolean";
    value: boolean;
    isComplete: true;
}>, z.ZodObject<{
    type: z.ZodLiteral<"record">;
    children: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
        type: "string";
        value: string;
        isComplete: true;
    } | {
        type: "boolean";
        value: boolean;
        isComplete: true;
    } | {
        type: "array";
        items: ({
            type: "string";
            value: string;
            isComplete: true;
        } | {
            type: "boolean";
            value: boolean;
            isComplete: true;
        })[];
        isComplete: boolean;
    }>, Record<string, any>>;
    isComplete: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    type: "record";
    children: Record<string, {
        type: "string";
        value: string;
        isComplete: true;
    } | {
        type: "boolean";
        value: boolean;
        isComplete: true;
    } | {
        type: "array";
        items: ({
            type: "string";
            value: string;
            isComplete: true;
        } | {
            type: "boolean";
            value: boolean;
            isComplete: true;
        })[];
        isComplete: boolean;
    }>;
    isComplete: boolean;
}, {
    type: "record";
    children: Record<string, any>;
    isComplete: boolean;
}>, z.ZodObject<{
    type: z.ZodLiteral<"string">;
    value: z.ZodString;
    isComplete: z.ZodLiteral<true>;
}, "strip", z.ZodTypeAny, {
    type: "string";
    value: string;
    isComplete: true;
}, {
    type: "string";
    value: string;
    isComplete: true;
}>]>;
export type AllFragments = z.infer<typeof AllFragmentsSchema>;
export type ArrayFragment = z.infer<typeof ArrayFragmentSchema>;
export type AttributeFragment = z.infer<typeof AttributeFragmentSchema>;
export type BooleanFragment = z.infer<typeof BooleanFragmentSchema>;
export type ChildFragments = Record<string, ValueFragments>;
export type PrimitiveFragments = z.infer<typeof PrimitiveFragmentsSchema>;
export type RecordFragment = z.infer<typeof RecordFragmentSchema>;
export type StringFragment = z.infer<typeof StringFragmentSchema>;
export type ValueFragments = z.infer<typeof ValueFragmentsSchema>;
export declare function string(value: string): StringFragment;
export declare function boolean(value: string | boolean): BooleanFragment;
export declare function record(children?: ChildFragments, isComplete?: boolean): RecordFragment;
export declare function attribute(name: string, value?: ValueFragments, isComplete?: boolean): AttributeFragment;
export declare function array(items?: PrimitiveFragments[], isComplete?: boolean): ArrayFragment;
export declare function isValue(data: unknown): data is ValueFragments;
export declare function isPrimitive(data: unknown): data is PrimitiveFragments;
export {};
