import { Component } from "@odoo/owl";
import { Store } from "../../store_engine";
import { DOMCoordinates, DOMDimension, Rect } from "../../types/index";
import { SpreadsheetChildEnv } from "../../types/spreadsheet_env";
import { DelayedHoveredCellStore } from "../grid/delayed_hovered_cell_store";
import { GridOverlay } from "../grid_overlay/grid_overlay";
import { GridPopover } from "../grid_popover/grid_popover";
import { CellPopoverStore } from "../popover";
import { Popover } from "../popover/popover";
import { HorizontalScrollBar, VerticalScrollBar } from "../scrollbar/";
import { ClickableCell, ClickableCellsStore } from "./clickable_cell_store";
interface Props {
    getGridSize: () => DOMDimension;
}
export declare class SpreadsheetDashboard extends Component<Props, SpreadsheetChildEnv> {
    static template: string;
    static props: {
        getGridSize: FunctionConstructor;
    };
    static components: {
        GridOverlay: typeof GridOverlay;
        GridPopover: typeof GridPopover;
        Popover: typeof Popover;
        VerticalScrollBar: typeof VerticalScrollBar;
        HorizontalScrollBar: typeof HorizontalScrollBar;
    };
    protected cellPopovers: Store<CellPopoverStore>;
    onMouseWheel: (ev: WheelEvent) => void;
    canvasPosition: DOMCoordinates;
    hoveredCell: Store<DelayedHoveredCellStore>;
    clickableCellsStore: Store<ClickableCellsStore>;
    private gridRef;
    setup(): void;
    get gridContainer(): string;
    get gridOverlayDimensions(): string;
    getCellClickableStyle(coordinates: Rect): string;
    /**
     * Get all the boxes for the cell in the sheet view that are clickable.
     * This function is used to render an overlay over each clickable cell in
     * order to display a pointer cursor.
     *
     */
    getClickableCells(): ClickableCell[];
    selectClickableCell(ev: MouseEvent, clickableCell: ClickableCell): void;
    onClosePopover(): void;
    onGridResized(): void;
    private moveCanvas;
    private getGridRect;
    private getMaxSheetWidth;
    get dashboardStyle(): string;
}
export {};
