import type { VFile } from 'vfile';
import type { Node, Parent } from 'myst-spec';
import type { PageFrontmatter } from 'myst-frontmatter';
import type { IParagraphOptions, IRunOptions, ParagraphChild, Table } from 'docx';
import { Paragraph } from 'docx';
import type { Handler, IDocxSerializer, IFootnotes, INumbering, Options, StateData } from './types.js';
export type AlignOptions = 'left' | 'center' | 'right';
export type IMathOpts = {
    inline?: boolean;
    id?: string | null;
    numbered?: boolean;
};
export declare class DocxSerializer implements IDocxSerializer {
    file: VFile;
    data: StateData;
    handlers: Record<string, Handler>;
    options: Options;
    children: (Paragraph | Table)[];
    numbering: INumbering[];
    footnotes: IFootnotes;
    current: ParagraphChild[];
    frontmatter: PageFrontmatter;
    constructor(file: VFile, options: Options, frontmatter?: PageFrontmatter);
    render(node: Node, parent?: Parent): void;
    renderChildren(parent: Parent, paragraphOpts?: IParagraphOptions, runOpts?: IRunOptions): void;
    addParagraphOptions(opts: IParagraphOptions): void;
    addRunOptions(opts: IRunOptions): void;
    text(text: string | null | undefined, opts?: IRunOptions): void;
    closeBlock(props?: IParagraphOptions, force?: boolean): void;
    blankLine(props?: IParagraphOptions): void;
}
//# sourceMappingURL=serializer.d.ts.map