import type { ManagedAccount, AccountSelectionStrategy, IFlowAuthDetails, RefreshParts } from './types'; export declare function generateAccountId(): string; export declare function encodeRefreshToken(parts: RefreshParts): string; export declare function decodeRefreshToken(encoded: string): RefreshParts; export declare class AccountManager { private accounts; private cursor; private strategy; private lastToastTime; constructor(accounts: ManagedAccount[], strategy?: AccountSelectionStrategy); static loadFromDisk(strategy?: AccountSelectionStrategy): Promise; getAccountCount(): number; getAccounts(): ManagedAccount[]; shouldShowToast(debounce?: number): boolean; getMinWaitTime(): number; getCurrentOrNext(): ManagedAccount | null; addAccount(a: ManagedAccount): void; removeAccount(a: ManagedAccount): void; updateFromAuth(a: ManagedAccount, auth: IFlowAuthDetails): void; markRateLimited(a: ManagedAccount, ms: number): void; markUnhealthy(a: ManagedAccount, reason: string, recovery?: number): void; saveToDisk(): Promise; toAuthDetails(a: ManagedAccount): IFlowAuthDetails; }