import { CommandBase, CommandSimpleOptions } from '../../common/commands/command-base';
import { SimpleCommandState } from '../../common/commands/command-states';
import { MergeMode } from '../../common/commands/dialogs/dialog-finish-and-merge-command';
import { DocumentFormat } from '../../common/document-format';
import { IModelManager } from '../../common/model-manager';
export declare class MailMergeCommand extends CommandBase<SimpleCommandState> {
    getState(): SimpleCommandState;
    isEnabledInReadOnlyMode(): boolean;
    isEnabled(): boolean;
    canModify(): boolean;
    executeCore(_state: SimpleCommandState, options: CommandSimpleOptions<MailMergeCommandParameters>): boolean;
    prepareMergedDocument(modelManager: IModelManager, param: MailMergeCommandParameters): void;
    private getDataSource;
    private replaceFieldsInModel;
    private processFieldsInSubDocument;
    private replaceMergeFieldsInSubDocument;
    private replaceIfFieldsInSubDocument;
    private replaceFieldWithText;
    private getResultByFieldName;
    private insertSeparator;
    private createModelManager;
}
export declare class MailMergeCommandParameters {
    callback: (blob: Blob) => void;
    exportFrom: number;
    exportRecordsCount: number;
    mergeMode: MergeMode;
    documentFormat: DocumentFormat;
    constructor(callback: (blob: Blob) => void, mergeMode: MergeMode, documentFormat: DocumentFormat, exportFrom?: number, exportRecordsCount?: number);
}
