/// <reference types="react" />
import { XBaseContainer } from "./XBaseContainer";
import { FormControl } from "../Controls/FormControl";
import { BorderStyle, WidthUnitInterface } from "../Utilities/FormDesignConstants";
import { XBaseStackContainer } from "./XBaseStackContainer";
import { IDataDefinition } from "@appglue/common/dist/Common/Data/Definitions/IDataDefinition";
export declare class XColumnContainerColumn extends XBaseStackContainer {
    readonly __type: string;
    minSizePx?: number;
    maxSizePx?: number;
    targetWidth: number;
    widthUnit?: WidthUnitInterface;
    spacerColumn: boolean;
    padding?: number;
    controlInnerMarginFromColumnEdge?: number;
    showColumnBorder?: boolean;
    columnBorderColor?: string;
    columnBorderRadius?: number;
    columnBorderWidth?: number;
    columnBorderStyle?: BorderStyle;
    columnBackgroundColor?: string;
    getStorageData(): object;
    setStorageData(data: object): void;
    getAddedData(): IDataDefinition | IDataDefinition[] | undefined;
    setFormDataValue(fieldName: string, value: any): void;
    renderEditUI(): JSX.Element | null;
    hasOwnBorder(): boolean | undefined;
    borderColor(): string | undefined;
    borderStyle(): BorderStyle | undefined;
    borderWidth(): number | undefined;
    borderRadius(): number | undefined;
    backgroundColor(): string | undefined;
    getInnerMargin(): number | undefined;
}
export declare class XColumnContainer extends XBaseContainer {
    readonly __type: string;
    columns: XColumnContainerColumn[];
    paddingBetweenContainerAndColumns?: number;
    interControlSpacing?: number;
    controlInnerMarginFromColumnEdge?: number;
    defaultShowColumnBorder?: boolean;
    defaultColumnBorderColor?: string;
    defaultColumnBorderRadius?: 10;
    defaultColumnBorderWidth?: 2;
    defaultColumnBorderStyle?: BorderStyle;
    defaultColumnBackgroundColor?: string | null;
    defaultInnerColumnMargin?: number;
    gapBetweenColumns: number;
    lineBetweenColumns: boolean;
    lineWidthBetweenColumns: number;
    lineColorBetweenColumns: string;
    addColumn(col: XColumnContainerColumn): void;
    add(control: FormControl, index?: number): void;
    remove(control: FormControl): void;
    find(id: string): FormControl | null;
    getInnerMargin(): number | undefined;
    getFormWidth(): number | undefined;
    render(): JSX.Element;
    getAddedData(): IDataDefinition | IDataDefinition[] | undefined;
    getStorageData(): object;
    setStorageData(data: object): void;
    setOrder(id: string, order: number): void;
    getControls(): FormControl[];
    renderEditUI(): JSX.Element;
}
