import { StoreState } from '@airgram-dev/store';
import { ApiMethods, AuthorizationStateUnion, BasicGroupFullInfoUnion, BasicGroupUnion, ChatUnion, ConnectionStateUnion, FileUnion, Instance, MessageUnion, OptionValueUnion, StickerSet, SupergroupFullInfoUnion, SupergroupUnion, TdObject, UpdateUnion, UserFullInfoUnion, UserUnion } from '@airgram-dev/web';
import { WatchOptions } from 'vue';
import { AirgramVue, UpdateHandler } from './types';
declare class AirgramDollar implements StoreState {
    private readonly vm;
    constructor(vm: AirgramVue);
    readonly airgram: Instance;
    readonly api: ApiMethods;
    readonly authorizationState: AuthorizationStateUnion | null;
    readonly connectionState: ConnectionStateUnion | null;
    readonly basicGroups: Record<number, BasicGroupUnion>;
    readonly basicGroupFullInfo: Record<number, BasicGroupFullInfoUnion>;
    readonly chats: Record<number, ChatUnion>;
    readonly chatMessages: Record<number, number[]>;
    readonly files: Record<number, FileUnion>;
    readonly messages: Record<string, MessageUnion>;
    readonly supergroups: Record<number, SupergroupUnion>;
    readonly supergroupFullInfo: Record<number, SupergroupFullInfoUnion>;
    readonly onlineMemberCount: Record<number, number>;
    readonly options: Record<string, OptionValueUnion>;
    readonly stickerSet: StickerSet | null;
    readonly users: Record<number, UserUnion>;
    readonly userFullInfo: Record<number, UserFullInfoUnion>;
    private readonly provider;
    private readonly storeState;
    emit(update: TdObject | UpdateUnion): Promise<any>;
    off(eventName: string, handler: UpdateHandler<any>): void;
    on(eventName: string, handler: UpdateHandler<any>): () => void;
    once(eventName: string, handler: UpdateHandler<any>): () => void;
    watch<T>(getter: (state: StoreState, getters: any) => T, cb: (value: T, oldValue: T) => void, options?: WatchOptions): () => void;
}
export { AirgramDollar };
