import { DocumentFormat } from '../../common/document-format';
import { FormatImagesImporter } from '../../common/formats/utils/images-import';
import { FormatterManager } from '../../common/layout-formatter/managers/formatter-manager';
import { IModelManager } from '../../common/model-manager';
import { DocumentModel } from '../../common/model/document-model';
import { FieldRequestManager } from '../../common/model/fields/field-request-manager';
import { RichOptions } from '../../common/model/options/rich-options';
import { IProcessor } from '../../common/processor';
import { ISelectionBase } from '../../common/selection/selection-base';
import { IExportModelOptions } from '../../common/formats/i-document-exporter';
import { CalculateDocumentVariableEventArgs } from './docvar-args';
import { IRichEditUnitConverter } from '../../common/utils/unit-converter';
import { DocumentRenderer } from '../../common/canvas/renderes/common/document-renderer';
export declare abstract class DocumentProcessorBase implements IProcessor {
    readonly selection: ISelectionBase;
    modelManager: IModelManager;
    private documentRenderer;
    private uiUnitConverter;
    private sessionGuid;
    private clientGuid;
    layoutFormatterManager: FormatterManager;
    onCalculateDocumentVariable: null | ((e: CalculateDocumentVariableEventArgs) => void);
    private readonly innerClientProperties;
    private readonly measurer;
    private activeDocumentImporter;
    constructor(richOptions: RichOptions, documentRenderer: DocumentRenderer, uiUnitConverter: IRichEditUnitConverter, sessionGuid: string, clientGuid: string);
    abstract createFieldRequestManager(): FieldRequestManager;
    protected abstract createModelManager(model: DocumentModel, richOptions: RichOptions): IModelManager;
    dispose(): void;
    openDocument(source: string | File, documentFormat: DocumentFormat, callback: (importSuccess: boolean) => void): void;
    openInnerDocument(model: DocumentModel): void;
    exportDocumentToBase64(callback: (base64: string) => void, documentFormat?: DocumentFormat): void;
    exportDocumentToBlob(callback: (blob: Blob) => void, documentFormat?: DocumentFormat): void;
    protected openDocumentInner(file: File, format: DocumentFormat, callback: (importSuccess: boolean) => void): void;
    protected importImages(formatImagesImporter: FormatImagesImporter): void;
    protected createModel(model: DocumentModel): void;
    beginUpdate(): void;
    endUpdate(): void;
    invalidateLayoutAfterFontsLoaded(): void;
    getExportModelOptions(initOptions?: Partial<IExportModelOptions>): IExportModelOptions;
}
