import { CellMasks, LoadTableOptions, OnesTable, OnesTableCustom, SheetRange, TableSidebarOptions, OnesTableHook, ToastInfo, CustomMessageData, GC } from '../../../../@ones-table/common';
import { CommandSenderStatus } from './command-sender/commands-sender';
import { TableDocumentBase } from './table-document-base';
export declare class ReadonlyTableDocument extends TableDocumentBase implements OnesTable {
    private spread;
    private json;
    private loadOptions;
    private masks;
    private formulaMask;
    private customs;
    private currentCommand;
    private hooks;
    private meta;
    constructor(spread: GC.Spread.Sheets.Workbook, kbId: string, docId: string, json: object, resourceToken: string, loadOptions: LoadTableOptions);
    get options(): LoadTableOptions;
    getSettings(): import("@ones-table/common").OnesTableSettings;
    addHook(hook: OnesTableHook): void;
    getHooks(): OnesTableHook[];
    addCustom<T extends OnesTableCustom>(name: string, creator: () => T): T;
    getCustom<T>(name: string): T | undefined;
    setReadonly(readonly: boolean): void;
    readonly(): boolean;
    setCurrentCommand(command: string): void;
    getCurrentCommand(): string;
    cellMasks(): CellMasks;
    getUsers(): never[];
    getUserColor(userId: string): string;
    clientId(): string;
    workbook(): GC.Spread.Sheets.Workbook;
    user(): {
        id: string;
        name: string;
        avatar: string;
    };
    broadcastCustomMessage(data: CustomMessageData): void;
    handleSelectionChanged(sheetName: string, newSelections: SheetRange[]): void;
    handleStatusChanged: (status: CommandSenderStatus) => void;
    handleActiveSheetChanged: () => void;
    destroy(): void;
    private handleLocalEvent;
    private handleLocalCommand;
    getMeta(name: string): string;
    setMeta(name: string, value: string): void;
    showSidebar(content: HTMLElement, options: TableSidebarOptions): void;
    showToast(options: ToastInfo): void;
    i18nt(key: string, args?: Record<string, string> | undefined): string;
    closeSidebar(): void;
    toExcel(): Promise<File>;
}
