import DialogSize from '../../modal/definitions/dialog-size';
import { FormLayoutNS, DfForm } from '../namespace';
import FormField from './field';
export declare class Column extends FormField {
    layoutFieldComponentName: string;
    colspan: number;
    constructor(layoutRow: LayoutRow, def: FormLayoutNS.ColumnInterface, fieldDef: DfForm.FormFieldJSON);
}
export declare class Group extends Column {
    title: string;
    layout: FormLayout;
    constructor(layoutRow: LayoutRow, def: FormLayoutNS.GroupInterface, fieldDef: DfForm.FormFieldJSON);
}
type FormLayoutFields = {
    [key: string]: FormField;
};
declare class LayoutRow {
    renderKey: number;
    columns: Column[];
    componentName: string;
    constructor(rowDef: FormLayoutNS.RowInterface, fields: FormLayoutFields, fieldDefs: DfForm.FormLayoutFieldsCollection);
    get anyVisible(): boolean;
}
declare class FormLayout {
    fields: FormLayoutFields;
    rows: LayoutRow[];
    componentName: string;
    fieldName: string;
    size: DialogSize;
    constructor(layout?: FormLayoutNS.LayoutInterface);
}
export default FormLayout;
//# sourceMappingURL=layout.d.ts.map