import { LogicalPadding, LogicalMargin, LogicalBorder, LogicalEdgeValue, LogicalBoxEdge, LogicalEdgeDirection, LogicalEdgeSize } from './public-api';
export declare class ContextEdgeState {
    private state;
    constructor();
    mask(edge: LogicalEdgeValue<number>): void;
    clear(): void;
    clearBlock(): void;
    addEdge(direction: LogicalEdgeDirection): void;
    isEnable(direction: LogicalEdgeDirection): boolean;
}
export declare class ContextEdgeSize {
    private edgeSize;
    private edgeState;
    constructor(edgeSize: LogicalEdgeSize, edgeState?: ContextEdgeState);
    mask(edge: LogicalEdgeSize): void;
    clear(): void;
    clearBlock(): void;
    addEdge(direction: LogicalEdgeDirection): void;
    getSize(direction: LogicalEdgeDirection): number;
    get measure(): number;
    get extent(): number;
}
export declare class ContextBoxEdge {
    private envEdge;
    padding: ContextEdgeSize;
    margin: ContextEdgeSize;
    borderWidth: ContextEdgeSize;
    constructor(envEdge: LogicalBoxEdge);
    clear(): void;
    clearBlock(): void;
    get currentBorder(): LogicalBorder;
    get currentPadding(): LogicalPadding;
    get currentMargin(): LogicalMargin;
    get currentBorderBoxEdge(): LogicalBoxEdge;
    get currentMarginBoxEdge(): LogicalBoxEdge;
    getBorderBoxEdgeSize(direction: LogicalEdgeDirection): number;
    getMarginBoxEdgeSize(direction: LogicalEdgeDirection): number;
    get borderBoxAfterSize(): number;
    get borderBoxStartSize(): number;
    get borderBoxBeforeSize(): number;
    get borderBoxMeasure(): number;
    get borderBoxExtent(): number;
}
