import { AdditionalFilter } from '../../../shared-logic/src/AdditionalFilter/types';
import { AnyView } from './View';
/**
 * Represents a CellAttributes type.
 * @param component - The component contained within the cell. Optional.
 * @param colSpan - The span of the cell in terms of columns. Defaults to 12.
 * @param localFilters - The local filters of the cell. Optional.
 */
export declare type CellAttributes = {
    component?: AnyView;
    colSpan?: number;
    localFilters?: AdditionalFilter[];
};
/**
 * Represents a cell in a layout, which can contain a component and has a specified column span.
 */
export declare class Cell {
    /**
     * The component contained within the cell. It's optional and can be undefined.
     */
    component: AnyView | undefined;
    /**
     * The span of the cell in terms of columns. Defaults to 12.
     */
    colSpan: number;
    /**
     * The local filters of the cell. Optional.
     */
    localFilters: AdditionalFilter[] | undefined;
    /**
     * Indicates whether the cell is empty. It's either true or undefined.
     */
    isEmpty: boolean | undefined;
    /**
     * Constructs a new Cell instance.
     *
     * @param attributes The attributes of the cell.
     */
    constructor(attributes?: CellAttributes);
    /**
     * Sets or updates the cell's component and column span.
     *
     * @param attributes The attributes to be set in the cell.
     */
    set(attributes: CellAttributes): void;
    /**
     * Sets the column span of the cell.
     *
     * @param colSpan The new column span for the cell. Number should be between 1 and 12.
     */
    setColSpan(colSpan: number): void;
    /**
     * Sets the component of the cell.
     *
     * @param component The component to be set in the cell.
     */
    setComponent(component: AnyView): void;
    /**
     * Clears the component from the cell and optionally sets a new column span.
     * Marks the cell as empty.
     *
     * @param colSpan The new column span for the cell. If not provided, defaults to 12.
     */
    emptyCell(colSpan?: number): void;
}
