/**
 * substrate-audit-log.ts — `olam substrate audit-log` subcommand.
 *
 * Phase 1b C3 of olam-host-suite-phase-1b-k3s-beta-flavour (plan
 * ~/.claude/plans/olam-host-suite-phase-1b-k3s-beta-flavour.md).
 *
 * Decisions consumed:
 *   D19 — audit-log inspection subcommand ships in PR3 (not deferred).
 *
 * Reads `~/.olam/state/manifest-refresh-audit.jsonl` and renders entries.
 *
 * Subcommand: `olam substrate audit-log`
 *   (registered under the existing `substrate` parent command via registerSubstrate)
 *
 * Flags:
 *   --json               Emit raw JSONL on stdout (one entry per line).
 *   --since <ISO-date>   Filter entries with ts >= <ISO-date>.
 *   --limit <N>          Max entries (default 50; applied AFTER --since filter).
 *
 * No force-overwrite power — read-only. Absent log file prints "no entries"
 * without error (exit 0).
 */
import type { Command } from 'commander';
import * as fs from 'node:fs';
export interface AuditLogDeps {
    readonly auditLogPath?: string;
    readonly stdout?: NodeJS.WritableStream;
    readonly stderr?: NodeJS.WritableStream;
    readonly readFileSync?: typeof fs.readFileSync;
    readonly existsSync?: typeof fs.existsSync;
}
export interface AuditLogOpts {
    readonly json?: boolean;
    readonly since?: string;
    readonly limit?: number | string;
    /** When set, filter entries to only those with matching peripheral field (C4/D19). */
    readonly peripheral?: string;
}
/**
 * Implementation of `olam substrate audit-log`. Exported for testability.
 *
 * @returns process exit code (0 = success, 1 = error)
 */
export declare function handleAuditLog(opts: AuditLogOpts, deps?: AuditLogDeps): number;
/**
 * Register `olam substrate audit-log` under the `substrate` parent command.
 *
 * Called from registerSubstrate() in substrate.ts.
 */
export declare function registerSubstrateAuditLog(substrateCmdRef: Command): void;
//# sourceMappingURL=substrate-audit-log.d.ts.map