import { Initializer } from '../../../../init/Initializer';
import type { AccountSettings, AccountStore } from './AccountStore';
import type { AccountLoginStorage } from './LoginStorage';
export declare const ACCOUNT_STORAGE_DESCRIPTION: {
    readonly rememberLogin: "boolean?";
};
/**
 * A {@link AccountStore} that uses an {@link AccountLoginStorage} to keep track of the accounts.
 * Needs to be initialized before it can be used.
 */
export declare class BaseAccountStore extends Initializer implements AccountStore {
    private readonly logger;
    private readonly storage;
    private initialized;
    constructor(storage: AccountLoginStorage<any>);
    handle(): Promise<void>;
    create(): Promise<string>;
    getSetting<T extends keyof AccountSettings>(id: string, setting: T): Promise<AccountSettings[T]>;
    updateSetting<T extends keyof AccountSettings>(id: string, setting: T, value: AccountSettings[T]): Promise<void>;
}
