import { Style } from '../system/platform/Props';
import { Component } from './component';
import { IOElement } from './IOElement';
import { LayoutNode } from './LayoutNode';
import { Size } from './util/geometry/types';
export declare function measureChildren(root: Component, component: Component, style: Style, fallbackTrait: LayoutNode, measureText: (text: string, fontSize: number) => Size, fitContent: boolean, getLeafStyle?: (parent_trait: LayoutNode, leaf_path: string[], leaf_comp: Component) => Style): import("./util/geometry/types").Rect;
export declare function extractStyle(root: Component, component: Component, fallbackTrait: LayoutNode, measureText: (text: string, fontSize: number) => Size, fitContent?: boolean, getLeafStyle?: (parent_trait: LayoutNode, leaf_path: string[], leaf_comp: Component) => Style): Style;
export declare function _extractStyle(root: Component, component: Component, element: IOElement, fallbackTrait: LayoutNode, measureText: (text: string, fontSize: number) => Size, fitContent?: boolean, getLeafStyle?: (parent_trait: LayoutNode, leaf_path: string[], leaf_comp: Component) => Style): Style;
export declare function extractFromRawStyle(root: Component, component: Component, element: IOElement, style: Style, fallbackTrait: LayoutNode, measureText: (text: string, fontSize: number) => Size, fitContent?: boolean, getLeafStyle?: (parent_trait: LayoutNode, leaf_path: string[], leaf_comp: Component) => Style): Style;
