import { CharacterProperties } from '../../../../model/character/character-properties';
import { CharacterStyle } from '../../../../model/character/character-style';
import { DocumentModel } from '../../../../model/document-model';
import { ParagraphProperties } from '../../../../model/paragraph/paragraph-properties';
import { ParagraphStyle } from '../../../../model/paragraph/paragraph-style';
import { StyleBase } from '../../../../model/style-base';
import { TableCellProperties } from '../../../../model/tables/properties/table-cell-properties';
import { TableProperties } from '../../../../model/tables/properties/table-properties';
import { TableRowProperties } from '../../../../model/tables/properties/table-row-properties';
import { ConditionalTableStyleFormatting } from '../../../../model/tables/secondary-structures/table-base-structures';
import { TableConditionalStyle } from '../../../../model/tables/styles/table-conditional-style';
import { TableStyle } from '../../../../model/tables/styles/table-style';
import { RtfExportHelper } from '../helpers/rtf-export-helper';
import { RtfBuilder } from '../rtf-builder';
import { RtfDocumentExporterOptions } from '../rtf-document-exporter-options';
import { RtfCharacterPropertiesExporter } from './rtf-character-properties-exporter';
import { RtfParagraphPropertiesExporter } from './rtf-paragraph-properties-exporter';
import { RtfTableStyleTableCellPropertiesExporter } from './table/rtf-table-cell-properties-exporter';
import { RtfTablePropertiesExporter } from './table/rtf-table-properties-exporter';
import { RtfTableRowPropertiesExporter } from './table/rtf-table-row-properties-exporter';
export declare class RtfStyleExporter {
    readonly rtfBuilder: RtfBuilder;
    tablePropertiesExporter: RtfTablePropertiesExporter;
    tableRowPropertiesExporter: RtfTableRowPropertiesExporter;
    tableCellPropertiesExporter: RtfTableStyleTableCellPropertiesExporter;
    readonly rtfExportHelper: RtfExportHelper;
    readonly characterPropertiesExporter: RtfCharacterPropertiesExporter;
    readonly paragraphPropertiesExporter: RtfParagraphPropertiesExporter;
    readonly documentModel: DocumentModel;
    constructor(documentModel: DocumentModel, rtfBuilder: RtfBuilder, rtfExportHelper: RtfExportHelper, options: RtfDocumentExporterOptions);
    exportStyleSheet(paragraphStyles: ParagraphStyle[], characterStyles: CharacterStyle[], tableStyles: TableStyle[]): void;
    exportParagraphStyles(paragraphStyles: ParagraphStyle[]): void;
    exportParagraphStyle(style: ParagraphStyle, i: number): void;
    exportCharacterStyles(characterStyles: CharacterStyle[]): void;
    exportCharacterStyle(style: CharacterStyle): void;
    exportTableStyles(tableStyles: TableStyle[]): void;
    exportTableStyle(style: TableStyle): void;
    exportTableConditionalStyle(conditionalStyle: TableConditionalStyle, style: TableStyle, styleIndex: number, conditionalType: ConditionalTableStyleFormatting): void;
    private writeConditionalStyleType;
    getTableConditionalStyleMergedCharacterProperties(conditionalStyle: TableConditionalStyle): CharacterProperties;
    getTableConditionalStyleMergedParagraphProperties(conditionalStyle: TableConditionalStyle): ParagraphProperties;
    protected exportCharacterProperties(characterProperties: CharacterProperties): void;
    protected exportParagraphProperties(mergedParagraphProperties: ParagraphProperties): void;
    exportTableProperties(mergedTableProperties: TableProperties): void;
    exportTableRowProperties(mergedTableRowProperties: TableRowProperties): void;
    exportTableCellProperties(mergedTableCellProperties: TableCellProperties): void;
    protected writeStyleName(name: string): void;
    protected getNextFreeStyleIndex(): number;
    protected obtainParagraphStyleIndex(style: ParagraphStyle): number;
    protected obtainCharacterStyleIndex(style: CharacterStyle): number;
    protected obtainTableStyleIndex(style: TableStyle): number;
    static obtainStyleIndex(style: StyleBase<any>, collection: Record<string, number>): number;
}
