/** * Flagged-account storage: load/save/clear + transactional update. * * Split out of `lib/storage.ts` in RC-2. Flagged accounts live in a sibling * file next to the main accounts file and follow the same mutex, temp-file + * rename, and legacy-file migration pattern — just with a simpler V1-only * schema and different legacy filenames (flagged-accounts.json and the * older blocked-accounts.json). */ import type { AccountMetadataV3 } from "./migrations.js"; export interface FlaggedAccountMetadataV1 extends AccountMetadataV3 { flaggedAt: number; flaggedReason?: string; lastError?: string; } export interface FlaggedAccountStorageV1 { version: 1; accounts: FlaggedAccountMetadataV1[]; } export declare function getFlaggedAccountsPath(): string; export declare function loadFlaggedAccounts(): Promise; /** * Executes a read-modify-write transaction for flagged account storage under the * shared storage lock so concurrent callers cannot lose updates. */ export declare function withFlaggedAccountStorageTransaction(handler: (current: FlaggedAccountStorageV1, persist: (storage: FlaggedAccountStorageV1) => Promise) => Promise): Promise; export declare function saveFlaggedAccounts(storage: FlaggedAccountStorageV1): Promise; export declare function clearFlaggedAccounts(): Promise; //# sourceMappingURL=flagged.d.ts.map