import { ILayout, IInfiniteGridItem, IInfiniteGridGroup } from "../types";
declare class JustifiedLayout implements ILayout {
    options: {
        margin: number;
        minSize: number;
        maxSize: number;
        column: number | number[];
        horizontal: boolean;
        row: number | number[];
    };
    private _style;
    private _size;
    constructor(options?: Partial<JustifiedLayout["options"]>);
    setSize(size: number): this;
    append(items: IInfiniteGridItem[], outline?: number[], cache?: boolean): {
        items: IInfiniteGridItem[];
        outlines: {
            start: number[];
            end: number[];
        };
    };
    prepend(items: IInfiniteGridItem[], outline?: number[], cache?: boolean): {
        items: IInfiniteGridItem[];
        outlines: {
            start: number[];
            end: number[];
        };
    };
    layout(groups?: IInfiniteGridGroup[], outline?: number[]): this;
    private _layout;
    private _getPath;
    private _getRowPath;
    private _getRowLink;
    private _searchRowLink;
    private _getSize;
    private _getCost;
    private _setStyle;
    private _insert;
}
export default JustifiedLayout;
