import { z } from 'zod';
export declare const conditionTypeEnum: z.ZodEnum<{
    ai_prompt: "ai_prompt";
    comparison: "comparison";
    presence: "presence";
    truthy: "truthy";
}>;
export declare const comparisonTypeEnum: z.ZodEnum<{
    contains: "contains";
    equals: "equals";
    does_not_equal: "does_not_equal";
    does_not_contain: "does_not_contain";
    starts_with: "starts_with";
    starts_without: "starts_without";
    ends_with: "ends_with";
    ends_without: "ends_without";
    greater_than: "greater_than";
    less_than: "less_than";
    matches_regex: "matches_regex";
    greater_than_or_equals: "greater_than_or_equals";
    less_than_or_equals: "less_than_or_equals";
}>;
export declare const presenceEvaluationTypeEnum: z.ZodEnum<{
    present: "present";
    not_present: "not_present";
}>;
export declare const comparisonConditionSchema: z.ZodObject<{
    conditionType: z.ZodLiteral<"comparison">;
    comparisonType: z.ZodEnum<{
        contains: "contains";
        equals: "equals";
        does_not_equal: "does_not_equal";
        does_not_contain: "does_not_contain";
        starts_with: "starts_with";
        starts_without: "starts_without";
        ends_with: "ends_with";
        ends_without: "ends_without";
        greater_than: "greater_than";
        less_than: "less_than";
        matches_regex: "matches_regex";
        greater_than_or_equals: "greater_than_or_equals";
        less_than_or_equals: "less_than_or_equals";
    }>;
    comparatorValue: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
        name: z.ZodString;
        tokens: z.ZodArray<z.ZodString>;
    }, z.core.$strip>]>;
    caseInsensitive: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export declare const presenceConditionSchema: z.ZodObject<{
    conditionType: z.ZodLiteral<"presence">;
    presenceType: z.ZodEnum<{
        present: "present";
        not_present: "not_present";
    }>;
}, z.core.$strip>;
export declare const truthyConditionSchema: z.ZodObject<{
    conditionType: z.ZodLiteral<"truthy">;
}, z.core.$strip>;
export declare const aiPromptConditionSchema: z.ZodObject<{
    conditionType: z.ZodLiteral<"ai_prompt">;
    userPrompt: z.ZodString;
    metaPrompt: z.ZodOptional<z.ZodString>;
    criteria: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export declare const conditionDescriptorSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    conditionType: z.ZodLiteral<"comparison">;
    comparisonType: z.ZodEnum<{
        contains: "contains";
        equals: "equals";
        does_not_equal: "does_not_equal";
        does_not_contain: "does_not_contain";
        starts_with: "starts_with";
        starts_without: "starts_without";
        ends_with: "ends_with";
        ends_without: "ends_without";
        greater_than: "greater_than";
        less_than: "less_than";
        matches_regex: "matches_regex";
        greater_than_or_equals: "greater_than_or_equals";
        less_than_or_equals: "less_than_or_equals";
    }>;
    comparatorValue: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
        name: z.ZodString;
        tokens: z.ZodArray<z.ZodString>;
    }, z.core.$strip>]>;
    caseInsensitive: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>, z.ZodObject<{
    conditionType: z.ZodLiteral<"presence">;
    presenceType: z.ZodEnum<{
        present: "present";
        not_present: "not_present";
    }>;
}, z.core.$strip>, z.ZodObject<{
    conditionType: z.ZodLiteral<"truthy">;
}, z.core.$strip>, z.ZodObject<{
    conditionType: z.ZodLiteral<"ai_prompt">;
    userPrompt: z.ZodString;
    metaPrompt: z.ZodOptional<z.ZodString>;
    criteria: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>]>;
export type ConditionDescriptor = z.infer<typeof conditionDescriptorSchema>;
//# sourceMappingURL=condition-descriptor.d.ts.map