import { DocVersion, OnProgress, OnesTableEvents } from '../../../../@ones-table/common';
import { TypedEmitter } from 'tiny-typed-emitter';
import { RemoteDocumentOptions } from './upload-resource';
export declare class TableDocumentBase extends TypedEmitter<OnesTableEvents> {
    spreadJson: object;
    docOptions: RemoteDocumentOptions;
    constructor(spreadJson: object, docOptions: RemoteDocumentOptions);
    token(): string;
    docId(): string;
    kbId(): string;
    server(): string;
    destroy(): void;
    queryCellActions(sheetName: string, row: number, col: number): Promise<any>;
    createVersion(options?: {
        name?: string;
        tag?: string;
        type?: string;
    }): Promise<DocVersion>;
    queryVersions(): Promise<DocVersion[]>;
    queryVersion(version: number, options?: {
        withData: boolean;
    }): Promise<DocVersion | DocVersion | null>;
    restoreVersion(version: number): Promise<DocVersion>;
    uploadResource(file: File, onProgress?: OnProgress): Promise<string>;
    getResourceUrl(resourceId: string, options?: {
        withToken?: boolean;
    }): string;
    getResourceId(url: string): string;
    toExcel(ssJson?: any): Promise<File>;
    static getVersionData(server: string, token: string, kbId: string, docId: string, version: number | 'draft' | 'latest', options?: {
        withData: boolean;
    }): Promise<DocVersion | DocVersion | null>;
    static getResourceToken(server: string, token: string, kbId: string, docId: string): Promise<string>;
}
