import PositionType from '../PositionType';
import SizeType from '../SizeType';
declare class Node {
    private _id;
    _parent: Node;
    private _sorter;
    private _properties;
    _children: Node[];
    constructor(id: number, size: SizeType, position: any, sorter: any);
    /** */
    getId(): number;
    /** */
    setFree(value: any): void;
    /** */
    isFree(): any;
    /** */
    hasFreeChanged(): any;
    /** */
    hasFreeDisplacementChanged(): any;
    /** */
    setShrunken(value: any): void;
    /** */
    areChildrenShrunken(): any;
    /** */
    setOrder(order: number): void;
    /** */
    resetPositionState(): void;
    /** */
    resetOrderState(): void;
    /** */
    resetFreeState(): void;
    /** */
    getOrder(): any;
    /** */
    hasOrderChanged(): any;
    /** */
    hasPositionChanged(): any;
    /** */
    hasSizeChanged(): any;
    /** */
    getPosition(): any;
    /** */
    setSize(size: any): void;
    /** */
    getSize(): any;
    /** */
    setFreeDisplacement(displacement: any): void;
    /** */
    resetFreeDisplacement(): void;
    /** */
    getFreeDisplacement(): any;
    /** */
    setPosition(position: PositionType): void;
    _setProperty(key: string, value: any): void;
    _getProperty(key: any): any;
    _isPropertyChanged(key: any): any;
    /** */
    getSorter(): any;
    /** @return {String} returns id, order, position, size and shrink information */
    toString(): string;
}
export default Node;
