import { ReactiveTreeNode } from "reactronic";
export type El<T = any, M = any> = {
    readonly node: ReactiveTreeNode<El<T, M>>;
    readonly index: number;
    native: T;
    model: M;
    kind: ElKind;
    place: ElPlace;
    width: Range;
    height: Range;
    horizontally: Horizontal | undefined;
    contentHorizontally: Horizontal | undefined;
    vertically: Vertical | undefined;
    contentVertically: Vertical | undefined;
    stretchingStrengthHorizontally: number | undefined;
    stretchingStrengthVertically: number | undefined;
    contentWrapping: boolean;
    overlayVisible: boolean | undefined;
    sealed: Direction | undefined;
    splitView: Direction | undefined;
    widthPx: {
        minPx: number;
        maxPx: number;
    };
    heightPx: {
        minPx: number;
        maxPx: number;
    };
    partitionSizeInSplitViewPx: number;
    readonly style: CSSStyleDeclaration;
    useStylingPreset(stylingPresetName: string, enabled?: boolean): void;
};
export declare enum ElKind {
    division = 0,
    table = 1,
    text = 2,
    group = 3,
    partition = 4,
    splitter = 5,
    cursor = 6,
    native = 7
}
export type ElCoords = {
    x1: number;
    y1: number;
    x2: number;
    y2: number;
};
export declare enum Horizontal {
    left = 0,
    center = 1,
    right = 2,
    stretch = 3,
    stretchAndFix = 4
}
export declare enum Vertical {
    top = 0,
    center = 1,
    bottom = 2,
    stretch = 3,
    stretchAndFix = 4
}
export type Range = {
    readonly min?: string;
    readonly max?: string;
    preferred?: string;
};
export type MarkedRange = Range & {
    readonly marker?: string;
};
export type ElPlace = undefined | string | {
    cellsOverWidth?: number;
    cellsOverHeight?: number;
};
export declare enum Direction {
    horizontal = 0,
    vertical = 1
}
