import { Model } from "../../model";
import { Component } from "../../owl3_compatibility_layer";
import { InformationNotification } from "../../types/env";
import { HeaderGroup, Pixel } from "../../types/misc";
import { SpreadsheetChildEnv } from "../../types/spreadsheet_env";
import { Store } from "../../types/store_engine";
import { BottomBar } from "../bottom_bar/bottom_bar";
import { SpreadsheetDashboard } from "../dashboard/dashboard";
import { FullScreenFigure } from "../full_screen_figure/full_screen_figure";
import { Grid } from "../grid/grid";
import { HeaderGroupContainer } from "../header_group/header_group_container";
import { SidePanelStore } from "../side_panel/side_panel/side_panel_store";
import { SidePanels } from "../side_panel/side_panels/side_panels";
import { SmallBottomBar } from "../small_bottom_bar/small_bottom_bar";
import { SpreadsheetPrint } from "../spreadsheet_print/spreadsheet_print";
import { TopBar } from "../top_bar/top_bar";
export declare class Spreadsheet extends Component<SpreadsheetChildEnv> {
    static template: string;
    protected props: import("@odoo/owl").Props<{
        model: Model;
        notifyUser?: ((notification: InformationNotification) => void) | undefined;
        raiseError?: ((text: string, callback?: () => void) => void) | undefined;
        askConfirmation?: ((content: string, confirm: () => void, cancel?: () => void) => void) | undefined;
    }>;
    static components: {
        TopBar: typeof TopBar;
        Grid: typeof Grid;
        BottomBar: typeof BottomBar;
        SmallBottomBar: typeof SmallBottomBar;
        SidePanels: typeof SidePanels;
        SpreadsheetDashboard: typeof SpreadsheetDashboard;
        HeaderGroupContainer: typeof HeaderGroupContainer;
        FullScreenFigure: typeof FullScreenFigure;
        SpreadsheetPrint: typeof SpreadsheetPrint;
    };
    sidePanel: Store<SidePanelStore>;
    spreadsheetRef: import("@odoo/owl").Signal<HTMLElement | null>;
    spreadsheetRect: import("../..").Rect;
    state: {
        printModeEnabled: boolean;
    };
    private _focusGrid?;
    private isViewportTooSmall;
    private notificationStore;
    private composerFocusStore;
    get model(): Model;
    getStyle(): string;
    setup(): void;
    private bindModelEvents;
    private unbindModelEvents;
    private checkViewportSize;
    focusGrid(): void;
    get gridHeight(): Pixel;
    get gridContainerStyle(): string;
    get rowLayers(): HeaderGroup[][];
    get colLayers(): HeaderGroup[][];
    getGridSize(): {
        width: number;
        height: number;
    };
    getSpreadSheetClasses(): string;
    exitPrintMode(): void;
}
