import { LayoutBase } from '../system/platform/component/app/Editor/layout';
import { Style } from '../system/platform/Props';
import { Tree } from '../Tree';
import { Dict } from '../types/Dict';
import { Component } from './component';
import { LayoutNode } from './LayoutNode';
export declare const getBaseStyle: (base: LayoutBase, parentPath: string[], extractStyle: (leafId: string, leafComp: Component) => Style) => Style[];
export declare const getParentPath: (component: Component, root: Component) => any[];
export type ExpandChildFunction = (leafId: string, component: Component) => Style;
export declare const expandSlot: (root: Component, component: Component, slot_id: string, path: number[], parent_slot_base: Dict<string[]>, extractStyle: ExpandChildFunction) => Style[];
export declare const reflectStyleTreeTrait: (trait: LayoutNode, tree: Tree<Style>) => Tree<LayoutNode>;
export declare const reflectComponentBaseTrait: (root: Component, root_prefix: string, prefix_leaf_id: string, component: Component, base: LayoutBase, style: Style, trait: LayoutNode, extractStyle: (leafId: string, component: Component) => Style, shouldExpandSlot?: boolean) => Dict<LayoutNode>;
