/**
 * Action implementations for CLI.5 — `opensquid audit …`.
 *
 * Split out of `audit.ts` (file-size budget). Seven verb bodies:
 *
 *   actList    — default; newest 20 entries (or filtered).
 *   actShell   — narrow to `pending_shell` (queued shell_exec approvals).
 *                (capability_gate shell_exec verdicts are surfaced by
 *                permissions audit — CLI.4 — to avoid duplication.)
 *   actChannels— narrow to `channel_send` (deliver-only + outbound).
 *   actPending — narrow to `pending_shell` decision=`prompted` (the
 *                queue the user must approve/reject to unblock).
 *   actTail    — live polling tail; AbortController-owned lifecycle.
 *   actApprove — `transitionPending(id, 'approved')`. Exit 1 if no row.
 *   actReject  — `transitionPending(id, 'rejected')`. Exit 1 if no row.
 *
 * Output discipline: JSON-on-stdout for `list / shell / channels /
 * pending / approve / reject` (pipeable). `tail` emits one row per line —
 * compact format for human readability + greppability.
 *
 * Imports from: ../../runtime/audit_log.
 * Imported by: src/setup/cli/audit.ts.
 */
import { type AuditLog } from '../../runtime/audit_log.js';
export interface ActionDeps {
    log: AuditLog;
    out: (s: string) => void;
    err: (s: string) => void;
    now: () => number;
    /** Tail uses a caller-owned AbortController so SIGINT + tests can abort. */
    abort?: AbortController;
}
export interface CommonFilterOpts {
    since?: string;
    decision?: string;
    limit?: string;
}
export interface ListOpts extends CommonFilterOpts {
    category?: string;
}
export declare function actList(deps: ActionDeps, opts: ListOpts): Promise<void>;
export declare function actShell(deps: ActionDeps, opts: CommonFilterOpts): Promise<void>;
export declare function actChannels(deps: ActionDeps, opts: CommonFilterOpts): Promise<void>;
export declare function actPending(deps: ActionDeps, opts: CommonFilterOpts): Promise<void>;
export interface TailOpts {
    follow?: boolean;
    interval?: string;
    category?: string;
    signal: AbortSignal;
}
export declare function actTail(deps: ActionDeps, opts: TailOpts): Promise<void>;
export declare function actApprove(deps: ActionDeps, rawId: string): Promise<void>;
export declare function actReject(deps: ActionDeps, rawId: string): Promise<void>;
//# sourceMappingURL=audit_actions.d.ts.map