import { LayoutEditorCanvasApi, LayoutEditorCanvasStyles, LayoutItem } from "@omnia/fx/models";
import { LayoutMediaContext, LayoutFileContext } from "@omnia/fx/ux";
import { BlockCatalogStore, LayoutCanvasStore, ThemingRenditionManager } from "../";
import { OmniaTheming, ThemeStore, VueComponentBase } from "../..";
import { SubscriptionHandler } from "../../..";
import { IWebComponentInstance } from "../../../runtime/core/InternalWebComponentBootstrapper";
import { MediaPickerService } from "../../../services";
import { BlockTitleSettingsStore, DirectionRuleStore } from "../../../stores";
import { AnchorLink } from "../../AnchorLink";
import { ILayoutEditorCanvas } from "./ILayoutEditorCanvas";
import "./LayoutEditorCanvas.css";
export default class LayoutEditorCanvas extends VueComponentBase implements IWebComponentInstance, ILayoutEditorCanvas {
    styles?: Partial<typeof LayoutEditorCanvasStyles>;
    getApi: (inst: LayoutEditorCanvasApi) => void;
    provider: string;
    authDisabled?: boolean;
    layoutStore: LayoutCanvasStore;
    mediaContext: LayoutMediaContext;
    fileContext: LayoutFileContext;
    blockTitleSettingsStore: BlockTitleSettingsStore;
    omniaTheming: OmniaTheming;
    layoutItemStore: BlockCatalogStore;
    SubscriptionHandler: SubscriptionHandler;
    mediaPickerService: MediaPickerService;
    themeStore: ThemeStore;
    directionRuleStore: DirectionRuleStore;
    themingRenditionManager: ThemingRenditionManager;
    anchorLink: AnchorLink;
    private omniaUxLoc;
    onStyleChange(newValue: any, oldValue: any): void;
    private tabState;
    private LayoutEditorCanvasClasses;
    private model;
    private isDragging;
    private originalScreenWidth;
    private originalWindowWidth;
    private timeWatchId;
    private enableVerticalAlign;
    beforeCreate(): void;
    created(): void;
    destroyed(): void;
    mounted(): void;
    beforeDestroy(): void;
    private handleWindowResize;
    private enalbeRightResizer;
    private DragStart;
    private DragStop;
    private ResizePanelSettings;
    private setSettingsPanelWrapperWidthWhenIconClicked;
    private get backgroundImage();
    setupLayout(): void;
    private onToggleSettingsDrawer;
    createOrphanedBlocks(orphanedBlocks: Array<LayoutItem>): JSX.Element[];
    /**
    * Function to render the sections fast
    * @param h is the hyperscript reference
    */
    createSectionMarkup(): Array<JSX.Element>;
    /**
     * Renders the layout item selector
     * @param h
     */
    renderLayoutItemSelector(): VueTsxSupport.JSX.Element;
    private renderDevicePreviewer;
    private renderStructure;
    private renderLayoutTemplates;
    private renderLayoutClipboard;
    private renderDrawerOptions;
    private renderDrawer;
    private renderDeveloperTools;
    private isSettingsLocked;
    private renderSettings;
    private onContainerUpdated;
    render(): VueTsxSupport.JSX.Element;
}
