import { LayoutItem, LayoutRendererCanvasApi, LayoutRendererCanvasStyles } from "@omnia/fx/models";
import { BlockCatalogStore, LayoutCanvasStore, ThemingRenditionManager } from "../";
import { LayoutFileContext, LayoutMediaContext, ThemeStore, VueComponentBase } from "../..";
import { IWebComponentInstance, SubscriptionHandler } from "../../..";
import { MediaPickerService } from "../../../services";
import { BlockTitleSettingsStore, DirectionRuleStore } from "../../../stores";
import { AnchorLink } from "../../AnchorLink";
import { ILayoutRendererCanvas } from "./ILayoutRendererCanvas";
import "./LayoutRendererCanvas.css";
export default class LayoutRendererCanvas extends VueComponentBase implements IWebComponentInstance, ILayoutRendererCanvas {
    designRender?: boolean;
    styles?: Partial<typeof LayoutRendererCanvasStyles>;
    getApi: (inst: LayoutRendererCanvasApi) => void;
    provider: string;
    disableScrollCompensation: boolean;
    layoutStore: LayoutCanvasStore;
    mediaContext: LayoutMediaContext;
    fileContext: LayoutFileContext;
    blockTitleSettingsStore: BlockTitleSettingsStore;
    anchorLink: AnchorLink;
    layoutItemStore: BlockCatalogStore;
    subscriptionHandler: SubscriptionHandler;
    mediaPickerService: MediaPickerService;
    themeStore: ThemeStore;
    themingRenditionManager: ThemingRenditionManager;
    directionRuleStore: DirectionRuleStore;
    private LayoutRendererCanvasClasses;
    private timeWatchId;
    private enableVerticalAlign;
    private layoutItemDelegator;
    private delegatedSections;
    beforeCreate(): void;
    created(): void;
    beforeDestroy(): void;
    mounted(): void;
    ensureBlockTitleSettingsForLayout(): void;
    private get backgroundImage();
    private onContainerUpdated;
    renderLayout(layoutItem: LayoutItem): VueTsxSupport.JSX.Element[];
    render(): VueTsxSupport.JSX.Element;
}
