import type { OxyServices } from '../../core';
export interface QuickAccount {
    sessionId: string;
    userId?: string;
    username: string;
    displayName: string;
    avatar?: string;
    avatarUrl?: string;
}
interface AccountState {
    accounts: Record<string, QuickAccount>;
    accountOrder: string[];
    accountsArray: QuickAccount[];
    loading: boolean;
    loadingSessionIds: Set<string>;
    error: string | null;
    setAccounts: (accounts: QuickAccount[]) => void;
    addAccount: (account: QuickAccount) => void;
    updateAccount: (sessionId: string, updates: Partial<QuickAccount>) => void;
    removeAccount: (sessionId: string) => void;
    moveAccountToTop: (sessionId: string) => void;
    setLoading: (loading: boolean) => void;
    setLoadingSession: (sessionId: string, loading: boolean) => void;
    setError: (error: string | null) => void;
    loadAccounts: (sessionIds: string[], oxyServices: OxyServices, existingAccounts?: QuickAccount[], preserveOrder?: boolean) => Promise<void>;
    reset: () => void;
}
export declare const useAccountStore: import("zustand").UseBoundStore<import("zustand").StoreApi<AccountState>>;
export declare const useAccounts: () => QuickAccount[];
export declare const useAccountLoading: () => boolean;
export declare const useAccountError: () => string | null;
export declare const useAccountLoadingSession: (sessionId: string) => boolean;
export {};
//# sourceMappingURL=accountStore.d.ts.map