/// <reference types="react" />
import { XGridArea, XGridRow } from "./XGridContainer";
import { FormContext } from "../Utilities/FormContext";
import { BorderStyle } from "../FormDesignConstants";
export interface IGridArea {
    row: number;
    column: number;
    width: number;
    height: number;
}
export interface IGridContainer {
    id: string;
    areas: XGridArea[];
    rows: XGridRow[];
    rowsLength: number;
    columnsLength: number;
    innerMargin?: number;
    gapBetweenAreas: number;
    defaultAreaInnerMargin?: number;
    defaultShowAreaBorder?: boolean;
    defaultAreaBorderColor?: string;
    defaultAreaBorderRadius?: number;
    defaultAreaBorderWidth?: number;
    defaultAreaBorderStyle?: BorderStyle;
    getFormContext(): FormContext | undefined;
    setFormContext(value: FormContext | undefined): void;
    addArea(area: XGridArea): void;
    removeArea(area: XGridArea): void;
    addRow(row: XGridRow): void;
    removeRow(row: XGridRow): void;
    renderEditUI: () => JSX.Element;
    toString: () => string | null;
    getInnerMargin: () => number | undefined;
    backgroundColor: () => string | undefined | null;
}
interface IGridEditLayer {
    grid: IGridContainer;
    updateCallback: () => void;
}
export declare const XGridEditLayer: (props: IGridEditLayer) => JSX.Element | null;
export declare const XGridEditContent: import("styled-components").StyledComponent<"div", any, {}, never>;
export {};
