export declare const PENDING_TTL_MS: number; export type PendingReason = "approval" | "untrusted-read"; export type PendingAction = { kind: "send"; } | { kind: "reply"; messageId: string; replyAll?: boolean; } | { kind: "forward"; messageId: string; } | { kind: "sendDraft"; draftId: string; fingerprint: string; }; export interface PendingAttachment { path: string; name: string; size: number; } export interface PendingSend { id: string; createdAt: string; account: string; tool: string; reason: PendingReason; /** Why the lock fired, when reason is "untrusted-read". */ taintedBy?: string; action: PendingAction; from?: string; to: string[]; cc: string[]; bcc: string[]; subject: string; body: string; html?: boolean; attachments: PendingAttachment[]; } export declare function pendingDir(): string; export declare function queueSend(spec: Omit): PendingSend; export declare function readPendingWithDigest(id: string): { spec: PendingSend; digest: string; } | undefined; export declare function readPending(id: string): PendingSend | undefined; export declare function listPending(): PendingSend[]; export declare function removePending(id: string): boolean; export declare function isExpired(spec: PendingSend, now?: number): boolean; export declare function allRecipients(spec: PendingSend): string[];