import type { Node as YogaNode } from 'yoga-layout/load';
import type { Node } from '../../main';
import { Element2D } from './Element2D';
export declare const edgeMap: {
    left: number;
    top: number;
    right: number;
    bottom: number;
    start: number;
    end: number;
    horizontal: number;
    vertical: number;
    all: number;
};
export declare const gutterMap: {
    column: number;
    row: number;
    all: number;
};
export declare const alignMap: {
    auto: number;
    'flex-start': number;
    center: number;
    'flex-end': number;
    stretch: number;
    baseline: number;
    'space-between': number;
    'space-around': number;
    'space-evenly': number;
};
export declare const displayMap: {
    flex: number;
    none: number;
    contents: number;
};
export declare const directionMap: {
    inherit: number;
    ltr: number;
    rtl: number;
};
export declare const flexDirectionMap: {
    column: number;
    'column-reverse': number;
    row: number;
    'row-reverse': number;
};
export declare const flexWrapMap: {
    'no-wrap': number;
    wrap: number;
    'Wrap-reverse': number;
};
export declare const justifyMap: {
    'flex-start': number;
    center: number;
    'flex-end': number;
    'space-between': number;
    'space-around': number;
    'space-evenly': number;
};
export declare const overflowMap: {
    visible: number;
    hidden: number;
    scroll: number;
};
export declare const positionTypeMap: {
    static: number;
    relative: number;
    absolute: number;
};
export declare const boxSizingMap: {
    'border-box': number;
    'content-box': number;
};
export declare class Flexbox {
    protected _el: Element2D;
    static _yoga?: any;
    static load(): Promise<void>;
    readonly node: YogaNode | undefined;
    constructor(_el: Element2D);
    protected _addChild(child: Node, newIndex: number): void;
    protected _removeChild(child: Node, _oldIndex: number): void;
    updateStyleProperty(key: string, value: any): void;
    update(): void;
}
