import type { GatewayClient, GatewayRequestContext } from "./types.js";
export type MutatingAdminRpcAuditOutcome = "succeeded" | "failed" | "denied";
export type MutatingAdminRpcAuditDetails = Record<string, string | number | boolean | null | undefined>;
export type MutatingAdminRpcAuditHistoryEntry = {
    seq: number;
    ts: number;
    method: string;
    outcome: MutatingAdminRpcAuditOutcome;
    actor: string;
    deviceId: string;
    clientIp: string;
    connId: string;
    details: Record<string, string>;
};
export type MutatingAdminRpcAuditHistorySnapshot = {
    generatedAt: string;
    capacity: number;
    count: number;
    dropped: number;
    firstSeq?: number;
    lastSeq?: number;
    events: MutatingAdminRpcAuditHistoryEntry[];
};
export declare function formatMutatingAdminRpcAuditLine(params: {
    method: string;
    outcome: MutatingAdminRpcAuditOutcome;
    client: GatewayClient | null;
    details?: MutatingAdminRpcAuditDetails;
}): string;
export declare function logMutatingAdminRpcAudit(params: {
    context: GatewayRequestContext;
    client: GatewayClient | null;
    method: string;
    outcome: MutatingAdminRpcAuditOutcome;
    details?: MutatingAdminRpcAuditDetails;
}): void;
export declare function getMutatingAdminRpcAuditHistorySnapshot(opts?: {
    method?: string;
    limit?: number;
}): MutatingAdminRpcAuditHistorySnapshot;
export declare function resetMutatingAdminRpcAuditHistoryForTest(): void;
