import { z } from "zod"; interface AstGrepRule { pattern?: string | { context: string; selector?: string | undefined; strictness?: string | undefined; } | undefined; kind?: string | undefined; regex?: string | undefined; inside?: AstGrepRule | undefined; has?: AstGrepRule | undefined; precedes?: AstGrepRule | undefined; follows?: AstGrepRule | undefined; all?: AstGrepRule[] | undefined; any?: AstGrepRule[] | undefined; not?: AstGrepRule | undefined; matches?: string | undefined; stopBy?: "neighbor" | "end" | AstGrepRule | undefined; } /** Public, preview-first structural rewrite contract. */ export declare const AstRewriteQuerySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ ruleKind: z.ZodLiteral<"pattern">; pattern: z.ZodString; rewrite: z.ZodString; path: z.ZodString; langType: z.ZodString; include: z.ZodOptional>; exclude: z.ZodOptional>; apply: z.ZodDefault; expectedHashes: z.ZodOptional>; selectedMatchIds: z.ZodOptional>; postconditions: z.ZodOptional; equals: z.ZodNumber; }, z.core.$strict>>>; allowSyntaxRegression: z.ZodDefault; maxFiles: z.ZodDefault; maxMatches: z.ZodDefault; page: z.ZodDefault; pageSize: z.ZodDefault; snapshot: z.ZodOptional; goal: z.ZodOptional; reasoning: z.ZodOptional; debug: z.ZodDefault; }, z.core.$strict>, z.ZodObject<{ rule: z.ZodType>; constraints: z.ZodOptional>>>; utils: z.ZodOptional>>>; transform: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ substring: z.ZodObject<{ source: z.ZodString; startChar: z.ZodOptional; endChar: z.ZodOptional; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ convert: z.ZodObject<{ source: z.ZodString; toCase: z.ZodEnum<{ lowerCase: "lowerCase"; upperCase: "upperCase"; camelCase: "camelCase"; snakeCase: "snakeCase"; kebabCase: "kebabCase"; pascalCase: "pascalCase"; }>; }, z.core.$strict>; }, z.core.$strict>]>>>; fix: z.ZodUnion>>; expandEnd: z.ZodOptional>>; }, z.core.$strict>]>; ruleKind: z.ZodLiteral<"rule">; path: z.ZodString; langType: z.ZodString; include: z.ZodOptional>; exclude: z.ZodOptional>; apply: z.ZodDefault; expectedHashes: z.ZodOptional>; selectedMatchIds: z.ZodOptional>; postconditions: z.ZodOptional; equals: z.ZodNumber; }, z.core.$strict>>>; allowSyntaxRegression: z.ZodDefault; maxFiles: z.ZodDefault; maxMatches: z.ZodDefault; page: z.ZodDefault; pageSize: z.ZodDefault; snapshot: z.ZodOptional; goal: z.ZodOptional; reasoning: z.ZodOptional; debug: z.ZodDefault; }, z.core.$strict>, z.ZodObject<{ ruleKind: z.ZodLiteral<"experimental">; rule: z.ZodType>; constraints: z.ZodOptional>>>; utils: z.ZodOptional>>>; transform: z.ZodRecord; }, z.core.$strict>, z.ZodObject<{ substring: z.ZodObject<{ source: z.ZodString; startChar: z.ZodOptional; endChar: z.ZodOptional; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ convert: z.ZodObject<{ source: z.ZodString; toCase: z.ZodEnum<{ lowerCase: "lowerCase"; upperCase: "upperCase"; camelCase: "camelCase"; snakeCase: "snakeCase"; kebabCase: "kebabCase"; pascalCase: "pascalCase"; }>; }, z.core.$strict>; }, z.core.$strict>]>, z.ZodObject<{ rewrite: z.ZodObject<{ source: z.ZodString; rewriters: z.ZodArray; joinBy: z.ZodOptional; }, z.core.$strict>; }, z.core.$strict>]>>; fix: z.ZodUnion>>; expandEnd: z.ZodOptional>>; }, z.core.$strict>]>; rewriters: z.ZodArray>; constraints: z.ZodOptional>>>; utils: z.ZodOptional>>>; transform: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ substring: z.ZodObject<{ source: z.ZodString; startChar: z.ZodOptional; endChar: z.ZodOptional; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ convert: z.ZodObject<{ source: z.ZodString; toCase: z.ZodEnum<{ lowerCase: "lowerCase"; upperCase: "upperCase"; camelCase: "camelCase"; snakeCase: "snakeCase"; kebabCase: "kebabCase"; pascalCase: "pascalCase"; }>; }, z.core.$strict>; }, z.core.$strict>]>>>; fix: z.ZodUnion>>; expandEnd: z.ZodOptional>>; }, z.core.$strict>]>; }, z.core.$strict>>; path: z.ZodString; langType: z.ZodString; include: z.ZodOptional>; exclude: z.ZodOptional>; apply: z.ZodDefault; expectedHashes: z.ZodOptional>; selectedMatchIds: z.ZodOptional>; postconditions: z.ZodOptional; equals: z.ZodNumber; }, z.core.$strict>>>; allowSyntaxRegression: z.ZodDefault; maxFiles: z.ZodDefault; maxMatches: z.ZodDefault; page: z.ZodDefault; pageSize: z.ZodDefault; snapshot: z.ZodOptional; goal: z.ZodOptional; reasoning: z.ZodOptional; debug: z.ZodDefault; }, z.core.$strict>], "ruleKind">; export {};