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