import { z } from "zod"; /** Non-blank ast-grep syntax (patterns, kinds, metavariable names). */ export declare const syntax: z.ZodString; export 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; } /** An ast-grep rule object, shared by astSearch `match` and astRewrite. */ export declare const AstGrepRuleSchema: z.ZodType; /** A rule-file object: the YAML rule file's `{rule: …}` as JSON. */ export declare const AstRuleFileSchema: z.ZodObject<{ rule: z.ZodType>; }, z.core.$strict>; /** * A rule as ast-grep YAML text (a bare rule or a rule file with `rule:`), as * the equivalent bare rule object, or as the rule-file object (`ruleFile`, * default `{rule}`); every form selects the same nodes. */ export declare function astRuleInput(description: string, ruleFile?: z.ZodTypeAny): z.ZodUnion>, z.ZodTypeAny>]>;