import { StorageManager } from '../../storage/storage.js';
import { PublicPart } from '../../types/utils.js';
import { ITelegramStorageProvider } from './provider.js';
import { PeersServiceOptions, PeersService } from './service/peers.js';
import { RefMessagesServiceOptions, RefMessagesService } from './service/ref-messages.js';
import { CurrentUserService } from './service/current-user.js';
import { UpdatesStateService } from './service/updates.js';
interface TelegramStorageManagerOptions {
    provider: ITelegramStorageProvider;
}
/** @internal */
export interface TelegramStorageManagerExtraOptions {
    refMessages?: RefMessagesServiceOptions;
    peers?: PeersServiceOptions;
}
export declare class TelegramStorageManager {
    private mt;
    private options;
    private provider;
    readonly updates: UpdatesStateService;
    readonly self: PublicPart<CurrentUserService>;
    readonly refMsgs: RefMessagesService;
    readonly peers: PublicPart<PeersService>;
    constructor(mt: StorageManager, options: TelegramStorageManagerOptions & TelegramStorageManagerExtraOptions);
    close(): Promise<void>;
    clear(withAuthKeys?: boolean): Promise<void>;
}
export {};
