export interface GateCheckCommandOptions {
    event: string;
    payload: string;
}
export interface GateInstallCommandOptions {
    /** Install every known gate (`knownGateEvents()`). */
    all?: boolean;
    /** Install a single named gate (validated against `knownGateEvents()`). */
    name?: string;
    /**
     * Install under the advisory pilot tier (deny → exit 0 + stderr). Default
     * (omitted) bakes `--strict` (deny → exit 2), so a default install is
     * enforcement-immune. `--strict` may be passed for explicitness.
     */
    pilot?: boolean;
    /** Explicit strict tier (the default; accepted for symmetry with `--pilot`). */
    strict?: boolean;
}
/**
 * Resolve + validate the gate events to install from the CLI options. The
 * `knownGateEvents()` registry is the single source of truth: `--all`
 * enumerates it, and a named gate must be a member or we throw (mirror the
 * engine's no-default-allow — never silently install nothing).
 */
export declare function resolveGateEvents(opts: GateInstallCommandOptions): Promise<string[]>;
/**
 * `totem gate install [--all | --<name>]`
 *
 * Idempotently merges one PreToolUse entry per selected gate into committed
 * `.claude/settings.json` and scaffolds the shared parameterized wrapper to
 * `.claude/hooks/gate-wrapper.cjs`. Thin caller of the shared `installGates`
 * merger (the same path `init --gates=` routes through) — no second copy of
 * the merge logic. Fails loud on an unknown `--<name>` (no default-install).
 */
export declare function gateInstallCommand(opts: GateInstallCommandOptions): Promise<void>;
/**
 * `totem gate check --event <type> --payload <json>`
 *
 * Evaluates a gate against deterministic state and writes the raw `GateVerdict`
 * JSON to stdout. The command is host-agnostic: it does NOT map the disposition
 * onto an exit code — the calling PreToolUse wrapper does that. Exit is 0 on a
 * successful evaluation (any disposition); a non-zero exit means the evaluation
 * itself failed (unknown event, bad payload, unparseable source) — never a
 * silent default-allow.
 */
export declare function gateCheckCommand(opts: GateCheckCommandOptions): Promise<void>;
//# sourceMappingURL=gate.d.ts.map