import { PdfStyle } from './types';
import { PdfPage } from './elements';

/**
 * Computed layout result
 */
export interface ComputedLayout {
    left: number;
    top: number;
    width: number;
    height: number;
}
/**
 * Layout node with computed values
 */
export interface LayoutNode {
    element: unknown;
    layout: ComputedLayout;
    children: LayoutNode[];
}
/**
 * Calculate layout for a PDF page using Yoga
 */
export declare function calculateLayout(page: PdfPage, pageWidth: number, pageHeight: number, measureText: (text: string, style?: PdfStyle) => {
    width: number;
    height: number;
}): Promise<LayoutNode>;
