import { ParagraphAttrs, DropCapDescriptor, ParagraphFrame } from '../../../../../../../layout-engine/contracts/src/index.js';
import { PMNode, ParagraphFont } from '../types.js';
import { ResolvedRunProperties } from '../../../../../../../word-layout/src/index.js';
import { ConverterContext } from '../converter-context.js';
import { ParagraphFrameProperties, ParagraphProperties, RunProperties } from '../../../../../../../layout-engine/style-engine/src/ooxml/index.js';
export declare const deepClone: <T>(obj: T) => T;
export declare const normalizeFramePr: (value: ParagraphFrameProperties | undefined) => ParagraphFrame | undefined;
export declare const normalizeNumberingProperties: (value: ParagraphProperties["numberingProperties"] | undefined) => ParagraphProperties["numberingProperties"] | undefined;
export declare const hasExplicitParagraphRunProperties: (paragraphProperties?: Pick<ParagraphProperties, "runProperties"> | null) => boolean;
export declare const normalizeDropCap: (framePr: ParagraphFrameProperties | undefined, para: PMNode, converterContext?: ConverterContext) => DropCapDescriptor | undefined;
/**
 * Compute paragraph attributes from PM node, resolving styles and handling BiDi text.
 * This is the main function for converting PM paragraph attributes to layout engine format.
 */
export declare const computeParagraphAttrs: (para: PMNode, converterContext?: ConverterContext, previousParagraphFont?: ParagraphFont) => {
    paragraphAttrs: ParagraphAttrs;
    resolvedParagraphProperties: ParagraphProperties;
};
export declare const computeRunAttrs: (runProps: RunProperties, converterContext?: ConverterContext, defaultFontSizePx?: number, defaultFontFamily?: string) => ResolvedRunProperties;
//# sourceMappingURL=paragraph.d.ts.map