/**
 * WS5.2 R12.iii — durable pending-wipe ledger for AccountFollowMeRevocation.
 *
 * The pure executor (`AccountFollowMeRevocation`) takes a `PendingWipeStore` seam; the in-memory
 * variant (`inMemoryPendingWipeStore`) is for tests. This is the PRODUCTION durable backing: a
 * single JSON file under the agent state dir, written atomically via SafeFsExecutor (crash-safe,
 * audited). A pending wipe MUST survive a server restart — an offline target that reconnects after
 * a bounce must still get its copy destroyed, and the reconnect-deadline give-up must still fire.
 *
 * Keyed exactly as the executor expects: `${accountId}::${targetMachineId}`. Reads tolerate a
 * missing/corrupt file (treated as empty — fail-safe: a lost ledger means a pending wipe is
 * forgotten, which the spec's honest end-state handles via provider rotation, never a false
 * "removed"). Writes are best-effort-atomic; a write failure throws so the caller surfaces it
 * rather than silently losing durability.
 */
import type { PendingWipeRecord, PendingWipeStore } from './AccountFollowMeRevocation.js';
/**
 * Durable, JSON-file-backed pending-wipe store. `stateDir` is the agent state dir
 * (`config.stateDir`); the ledger lives at `<stateDir>/account-follow-me-revocation-pending.json`.
 */
export declare class DurablePendingWipeStore implements PendingWipeStore {
    private readonly filePath;
    private map;
    constructor(opts: {
        stateDir: string;
    });
    private load;
    private persist;
    put(record: PendingWipeRecord): void;
    remove(accountId: string, targetMachineId: string): void;
    get(accountId: string, targetMachineId: string): PendingWipeRecord | undefined;
    all(): PendingWipeRecord[];
}
//# sourceMappingURL=AccountFollowMeRevocationStore.d.ts.map