/** * Config schema — defines the shape and validation for .ghls.yml */ import { z } from 'zod'; export declare const GhlsConfigSchema: z.ZodObject<{ /** Base branch to stack on (default: main) */ baseBranch: z.ZodDefault; /** Remote branch template. {user}, {stack}, {n} are replaced. */ branchTemplate: z.ZodDefault; /** Merge method for landing PRs. */ mergeMethod: z.ZodDefault>; /** * How to sync stack branches with the base branch. * * - 'merge': Merge base into each PR branch (NO force-push → approvals survive). * Best when "dismiss stale approvals" is enabled in branch protection. * Creates merge commits in PR branches, but squash-merge at land time cleans history. * * - 'rebase': Rebase stack onto base (force-push required → approvals may be dismissed). * Produces clean linear history but triggers GitHub's stale review dismissal. * * Default: 'merge' (preserves approvals by avoiding force-push). */ syncStrategy: z.ZodDefault>; /** Hard block PRs above this line count */ maxPrSize: z.ZodDefault; /** Warn (but allow) PRs above this line count */ warnPrSize: z.ZodDefault; /** Hard block stacks above this entry count (use --force to bypass). */ maxStackEntries: z.ZodDefault; /** Glob patterns for files excluded from size counting */ excludePatterns: z.ZodDefault>; /** Grouping strategy for commits → PRs */ groupingStrategy: z.ZodDefault>; /** Auto-sync with base branch before submit */ autoSync: z.ZodDefault; /** Collect anonymous local analytics */ analytics: z.ZodDefault; /** GitHub remote name */ remote: z.ZodDefault; }, "strip", z.ZodTypeAny, { analytics: boolean; remote: string; baseBranch: string; branchTemplate: string; mergeMethod: "rebase" | "merge" | "squash"; syncStrategy: "rebase" | "merge"; maxPrSize: number; warnPrSize: number; maxStackEntries: number; excludePatterns: string[]; groupingStrategy: "file" | "marker" | "semantic" | "interactive" | "auto" | "single"; autoSync: boolean; }, { analytics?: boolean | undefined; remote?: string | undefined; baseBranch?: string | undefined; branchTemplate?: string | undefined; mergeMethod?: "rebase" | "merge" | "squash" | undefined; syncStrategy?: "rebase" | "merge" | undefined; maxPrSize?: number | undefined; warnPrSize?: number | undefined; maxStackEntries?: number | undefined; excludePatterns?: string[] | undefined; groupingStrategy?: "file" | "marker" | "semantic" | "interactive" | "auto" | "single" | undefined; autoSync?: boolean | undefined; }>; export type GhlsConfig = z.infer; /** * Get the default config object. */ export declare function getDefaults(): GhlsConfig; //# sourceMappingURL=schema.d.ts.map