import { VersionedLayoutId, GuidValue, LayoutRendererCanvasApi, ThemeDefinition } from "@omnia/fx-models";
import { VueComponentBase } from "../..";
import { ServiceContainerContext } from "../../../core";
interface InternalVersionedLayoutRendererProps {
    layoutBackgroundImageElementId: string;
    versionedLayoutId: VersionedLayoutId;
    layoutThemeDefinition?: ThemeDefinition;
    blockThemeDefinition?: ThemeDefinition;
    enableAlternateLayout?: boolean;
    getApi?: (api: LayoutRendererCanvasApi) => void;
    layoutProvider?: string;
}
export declare class InternalVersionedLayoutRenderer extends VueComponentBase<InternalVersionedLayoutRendererProps> {
    layoutBackgroundImageElementId: string;
    versionedLayoutId: VersionedLayoutId;
    layoutThemeDefinition: ThemeDefinition;
    blockThemeDefinition: ThemeDefinition;
    enableAlternateLayout: boolean;
    layoutProvider?: string;
    getApi?: (api: LayoutRendererCanvasApi) => void;
    private versionedLayoutStore;
    private subscriptionHandler;
    private versionedLayout;
    private parentVersionedLayout;
    private versionedData;
    private breakpoints;
    private currentBreakpoint;
    private layoutRendererCanvasApi;
    created(): void;
    mounted(): void;
    beforeDestroy(): void;
    private ensureHandleWindowResize;
    private isLayoutRendererCanvasAvailable;
    private handleWindowResize;
    private setCurrentBreakpoint;
    private ensureHandleNewVersions;
    private getLayoutApi;
    private setLayout;
    private getLayoutForCurrentBreakpoint;
    private getLayoutWithMergeParentForCurrentBreakpoint;
    render(): VueTsxSupport.JSX.Element;
}
declare const _default: (import("vue").VueConstructor<import("vue-tsx-support")._TsxComponentInstanceV3<import("vue/types/umd"), {}, import("vue-tsx-support").PropsForOutside<{
    layoutBackgroundImageElementId: string;
    appInstanceId: GuidValue;
    versionedLayoutId: VersionedLayoutId;
    layoutThemeDefinition: ThemeDefinition;
    blockThemeDefinition: ThemeDefinition;
    enableAlternateLayout: boolean;
    getApi: (api: LayoutRendererCanvasApi) => void;
    serviceContainerContext: ServiceContainerContext;
    layoutProvider: string;
}, "appInstanceId" | "versionedLayoutId" | "layoutBackgroundImageElementId">, any, any, any>> & {
    propsDefinition: import("vue-tsx-support").PropsForOutside<{
        layoutBackgroundImageElementId: string;
        appInstanceId: GuidValue;
        versionedLayoutId: VersionedLayoutId;
        layoutThemeDefinition: ThemeDefinition;
        blockThemeDefinition: ThemeDefinition;
        enableAlternateLayout: boolean;
        getApi: (api: LayoutRendererCanvasApi) => void;
        serviceContainerContext: ServiceContainerContext;
        layoutProvider: string;
    }, "appInstanceId" | "versionedLayoutId" | "layoutBackgroundImageElementId">;
}) | (import("vue").VueConstructor<import("vue-tsx-support")._TsxComponentInstanceV3<import("vue/types/umd") & import("vue").ShallowUnwrapRef<() => VueTsxSupport.JSX.Element>, {}, import("vue-tsx-support").PropsForOutside<{
    layoutBackgroundImageElementId: string;
    appInstanceId: GuidValue;
    versionedLayoutId: VersionedLayoutId;
    layoutThemeDefinition: ThemeDefinition;
    blockThemeDefinition: ThemeDefinition;
    enableAlternateLayout: boolean;
    getApi: (api: LayoutRendererCanvasApi) => void;
    serviceContainerContext: ServiceContainerContext;
    layoutProvider: string;
}, "appInstanceId" | "versionedLayoutId" | "layoutBackgroundImageElementId">, any, any, any>> & {
    propsDefinition: import("vue-tsx-support").PropsForOutside<{
        layoutBackgroundImageElementId: string;
        appInstanceId: GuidValue;
        versionedLayoutId: VersionedLayoutId;
        layoutThemeDefinition: ThemeDefinition;
        blockThemeDefinition: ThemeDefinition;
        enableAlternateLayout: boolean;
        getApi: (api: LayoutRendererCanvasApi) => void;
        serviceContainerContext: ServiceContainerContext;
        layoutProvider: string;
    }, "appInstanceId" | "versionedLayoutId" | "layoutBackgroundImageElementId">;
});
export default _default;
