import type { TimeoutMode } from '@mmnto/totem';
import type { ShieldFormat } from './shield.js';
export interface LintOptions {
    out?: string;
    format?: ShieldFormat;
    staged?: boolean;
    /**
     * Force the branch-vs-base (push-gate) diff scope (mmnto-ai/totem#2091).
     * Mutually exclusive with `staged`.
     */
    branch?: boolean;
    /**
     * Explicit base branch name for the forced branch-vs-base scope
     * (mmnto-ai/totem#2091). Implies `branch`; resolved via `getGitBranchDiff`'s
     * origin-preference logic (mmnto-ai/totem#2054).
     */
    base?: string;
    /** PR number to post a comment on, or `true` to auto-infer from GitHub Actions env */
    prComment?: number | true;
    /**
     * Bounded regex execution timeout mode (mmnto-ai/totem#1641). `strict`
     * (default) surfaces pattern-evaluation timeouts as lint errors.
     * `lenient` skips the timing-out rule-file pair with a warning and
     * does not contribute to the exit code.
     */
    timeoutMode?: TimeoutMode;
    /**
     * AST parse-failure mode (mmnto-ai/totem#1982). `strict` (default)
     * surfaces ast-grep / Tree-sitter parse errors as a non-zero exit.
     * `lenient` skips all AST rules for the run with a visible warning —
     * operator escape hatch for the gap until the per-file degrade in
     * mmnto-ai/totem#1786 ships. Env: `TOTEM_LINT_AST_PARSE_MODE`.
     */
    astParseMode?: TimeoutMode;
}
export declare function lintCommand(options: LintOptions): Promise<void>;
//# sourceMappingURL=lint.d.ts.map