import { VNode } from "vue"; import { Block, BlockLayoutSettings, SectionSettings } from "../../../../models"; import { ThemingRenditionManager } from "../../"; import { LayoutItem } from "../../../../models"; import { LayoutCanvasStore, BlockCatalogStore } from "../../"; import { VueComponentBaseProps, VueComponentBase, VueComponentBaseEvents } from "../../../VueComponentBase"; import { SettingsService, MediaPickerService } from "../../../../services"; import { UserTargetingStore, BlockTitleSettingsStore, MultilingualStore } from "../../../../stores"; import { SubscriptionHandler } from "../../../.."; import { BlockInstance, LayoutMediaContext, LayoutFileContext, ThemeStore } from "../../../"; import { AnchorLink } from "../../../AnchorLink"; import { OmniaContext } from "../../../../contexts"; export interface BlockRendererProps extends VueComponentBaseProps { block: Block; parentContainer: LayoutItem; settings: SectionSettings; } interface BlockRendererEvents extends VueComponentBaseEvents { onGetBlock?: { blockGetterFunc: (block: Block) => void; }; onBlockInstanceCreated?: BlockInstance; onBlockInstanceCacheKeyUpdated?: BlockInstance; } export declare class LayoutBlockRenderer extends VueComponentBase { block: Block; parentContainer: LayoutItem; settings: SectionSettings; useClickProtection: boolean; protected settingsService: SettingsService; layoutEditorStore: LayoutCanvasStore; layoutMediaContext: LayoutMediaContext; layoutFileContext: LayoutFileContext; blockTitleSettingsStore: BlockTitleSettingsStore; targetingStore: UserTargetingStore; layoutItemStore: BlockCatalogStore; mediaPickerService: MediaPickerService; themeStore: ThemeStore; themingRenditionManager: ThemingRenditionManager; subscriptionHandler: SubscriptionHandler; omniaContext: OmniaContext; multilingualStore: MultilingualStore; blockInstance: BlockInstance; anchorLink: AnchorLink; private subscriptionPrintHandler; private isHideBlock; private targetCurrentUser; private isEditMode; private isLazyLoad; private isHideBlockInPrint; private isRenderInViewPort; onBlockChanged(): void; beforeCreate(): void; created(): void; private subcribeOnPrint; beforeDestroy(): void; private scrollIntoViewDisabled; private handleAnchorLink; private get backgroundImage(); /** * Creates the element * @param h */ createElement(): VNode; private getThemeTargetId; private createAnchorElement; private getAnchorName; hideBlock(isHide: boolean): void; checkTargetingValue(settings: BlockLayoutSettings): void; /** * Render * @param h */ render(): VueTsxSupport.JSX.Element; } export {};