import { LogicalGridConfig, LogicalGridContainer, ObjectModel, ObjectWithType } from '../../index';
export interface LogicalGridOptions extends ObjectModel<LogicalGrid> {
    gridConfig?: LogicalGridConfig | object;
}
/**
 * Base class for every logical grid. The concrete grids should implement {@link LogicalGrid._validate}.
 */
export declare abstract class LogicalGrid implements ObjectWithType {
    model: LogicalGridOptions;
    dirty: boolean;
    gridConfig: LogicalGridConfig;
    objectType: string;
    constructor(options?: LogicalGridOptions);
    setDirty(dirty: boolean): void;
    setGridConfig(gridConfig: LogicalGridConfig | object): void;
    protected _setGridConfig(gridConfig: LogicalGridConfig | object): void;
    /**
     * Calls {@link _validate} if the grid is dirty. Sets dirty to false afterwards.
     */
    validate(gridContainer: LogicalGridContainer): void;
    protected abstract _validate(gridContainer: LogicalGridContainer): any;
}
//# sourceMappingURL=LogicalGrid.d.ts.map