/// <reference path="vendor/i18next.d.ts" />
//@ts-ignore
import { i18n } from 'i18next';
//@ts-ignore
import { MenuAPI } from '@grapecity/core-ui';
//@ts-ignore
import { Model, PluginModel } from '@grapecity/viewer-core';
//@ts-ignore
import { PanelHandle } from '@grapecity/viewer-core/types/api/PluginModel';
import GcPdfViewer from '.';
import { GcPdfViewerDataLoader, ViewerMetaDataType } from './Core/GcPdfViewerDataLoader';
import { TableDataExtractionPanel } from './TableDataExtraction/TableDataExtractionPanel';
export declare const commonStateInit: () => any;
/**
 * Left sidebar API.
 **/
export declare class LeftSidebar {
    viewer: GcPdfViewer;
    dataLoader: GcPdfViewerDataLoader;
    private _activePanelId;
    private _layersPanel?;
    private _structureTreePanel?;
    private _tableDataExtractionPanel?;
    private _isViewerReady;
    private _tableDataExtractionPanelComponent;
    updating?: boolean;
    constructor(viewer: GcPdfViewer, dataLoader: GcPdfViewerDataLoader);
    get activePanelId(): string | null;
    set activePanelId(id: string | null);
    get in17n(): i18n;
    get menu(): MenuAPI;
//@ts-ignore
    uiInstance: () => import("@grapecity/core-ui/lib/types/utils").PublicAPI;
    get extractTablePanelHandle(): PluginModel.PanelHandle | undefined;
    get extractTablePanel(): TableDataExtractionPanel | null | undefined;
    /**
     * Hide left side bar.
     * @example
     * ```javascript
     * viewer.leftSidebar.hide();
     * ```
     **/
    hide(): void;
    pin(id?: PanelHandle | string): void;
    /**
     * Show the left side bar.
     * @example
     * ```javascript
     * viewer.leftSidebar.show();
     * ```
     **/
    show(): void;
    addLayersPanel(): PanelHandle;
    addTableExtractionPanel(): PanelHandle;
    addStructureTreePanel(): PanelHandle;
    onPanelDataLoaded(key: ViewerMetaDataType, data: any): void;
    updatePanels(state: Model): void;
}
