import { Base, Type } from "./type";
import { Rect } from "./Rect";
import { Size } from "./Size";
import { IExecutionContext } from "./IExecutionContext";
import { ObservableCollection$1 } from "./ObservableCollection$1";
import { SizeDefinitionCollection } from "./SizeDefinitionCollection";
/**
 * @hidden
 */
export interface IGridLayoutView {
    model: GridLayout;
    provideContainer(a: any): void;
    childrenCollectionChanged(): void;
}
/**
 * @hidden
 */
export declare let IGridLayoutView_$type: Type;
/**
 * @hidden
 */
export declare class GridLayoutView extends Base implements IGridLayoutView {
    static $t: Type;
    private a;
    private _model;
    get model(): GridLayout;
    set model(a: GridLayout);
    b(a: any, b: Rect): void;
    childrenCollectionChanged(): void;
    c(a: any, b: Size): Size;
    provideContainer(a: any): void;
}
/**
 * @hidden
 */
export declare class GridLayout extends Base {
    static $t: Type;
    private n;
    private f;
    private g;
    private l;
    private k;
    private b;
    private q;
    private p;
    a: IExecutionContext;
    private d;
    get e(): IGridLayoutView;
    get o(): ObservableCollection$1<any>;
    get h(): SizeDefinitionCollection;
    get i(): SizeDefinitionCollection;
    constructor();
    private v;
    private u;
    private t;
    onSizeChanged(a: number, b: number): void;
    private y;
    private c;
    private ab;
    private m;
    private j;
    private ad;
    w(a: any): void;
    z(a: number, b: any): void;
    ae(a: any): void;
    x(): void;
    af(a: any, b: number): void;
    r(a: any): number;
    ag(a: any, b: number): void;
    s(a: any): number;
    ac(a: any): void;
}
