import { ILogicalNode, LogicalBlockNode, ILayoutFormatContext } from './public-api';
export declare type LogicalNodeType = 'block' | 'line' | 'inline' | 'text' | 'inline-block' | 're-block' | 're-inline' | 'table-cell' | 'table-cells' | 'table-row' | 'table-row-group' | 'table' | 'ruby' | 'ruby-text' | 'ruby-base' | 'list-marker' | 'inline-link' | 'block-link';
export declare type LayoutResultType = 'skip' | 'page-break' | 'line-break' | 'iblock-inline-break' | LogicalNodeType;
export declare class LayoutResult {
    type: LayoutResultType;
    body?: any;
    static skip(ctx: ILayoutFormatContext, msg?: string): LayoutResult;
    static lineBreak(ctx: ILayoutFormatContext, msg?: string): LayoutResult;
    static iblockInlineBreak(ctx: ILayoutFormatContext, msg?: string): LayoutResult;
    static pageBreak(ctx: ILayoutFormatContext, msg?: string): LayoutResult;
    static logicalNode(type: LogicalNodeType, node: ILogicalNode): LayoutResult;
    private constructor();
    isFloatable(): boolean;
    isBlockLevel(): boolean;
    getBodyAsBlockNode(): LogicalBlockNode;
}
