import { DocumentContent, DocumentStyles, DrawCustomShape, DrawFrame, DrawG, ListStyle, OfficeText, Style, TableCell, TableOfContent, TableRow, TableTable, TextLink, TextList, TextParagraph, TextSpan } from './LibreOffice.js';
import { MarkdownTagNode } from './MarkdownNodes.js';
import { RewriteRule } from './applyRewriteRule.js';
interface StringToStringMap {
    [name: string]: string;
}
export declare class OdtToMarkdown {
    private document;
    private documentStyles;
    private fileNameMap;
    private xmlMap;
    errors: string[];
    private readonly styles;
    readonly links: Set<string>;
    private readonly chunks;
    private picturesDir;
    private picturesDirAbsolute;
    private rewriteRules;
    private headersMap;
    private invisibleBookmarks;
    constructor(document: DocumentContent, documentStyles: DocumentStyles, fileNameMap?: StringToStringMap, xmlMap?: StringToStringMap);
    getStyle(styleName: string): Style;
    getListStyle(listStyleName: string): ListStyle | null;
    convert(): Promise<string>;
    trimBreaks(markdown: string): string;
    getErrors(): string[];
    tocToText(currentTagNode: MarkdownTagNode, tableOfContent: TableOfContent): Promise<void>;
    spanToText(currentTagNode: MarkdownTagNode, span: TextSpan): Promise<void>;
    addLink(href: string): void;
    linkToText(currentTagNode: MarkdownTagNode, link: TextLink): Promise<void>;
    drawCustomShape(currentTagNode: MarkdownTagNode, drawCustomShape: DrawCustomShape): Promise<void>;
    drawGToText(currentTagNode: MarkdownTagNode, drawG: DrawG): Promise<void>;
    drawFrameToText(currentTagNode: MarkdownTagNode, drawFrame: DrawFrame): Promise<void>;
    hasStyle(paragraph: TextParagraph, name: string): boolean;
    isCourier(styleName: string): boolean;
    paragraphToText(currentTagNode: MarkdownTagNode, paragraph: TextParagraph): Promise<void>;
    tableCellToText(currentTagNode: MarkdownTagNode, tableCell: TableCell): Promise<void>;
    tableRowToText(currentTagNode: MarkdownTagNode, tableRow: TableRow): Promise<void>;
    tableToText(currentTagNode: MarkdownTagNode, table: TableTable): Promise<void>;
    listToText(currentTagNode: MarkdownTagNode, list: TextList): Promise<void>;
    officeTextToText(currentTagNode: MarkdownTagNode, content: OfficeText): Promise<void>;
    setPicturesDir(picturesDir: string, picturesDirAbsolute?: string): void;
    setRewriteRules(rewriteRules: RewriteRule[]): void;
    pushError(error: string): void;
    getHeadersMap(): {
        [p: string]: string;
    };
    getInvisibleBookmarks(): {
        [p: string]: number;
    };
}
export {};
//# sourceMappingURL=OdtToMarkdown.d.ts.map