import { Renderer2, ViewContainerRef, TemplateRef, SimpleChanges } from "@angular/core";
import type { BuilderContextInterface } from "../../../context/types";
import type { BuilderBlock } from "../../../types/builder-block";
import type { Dictionary } from "../../../types/typescript";
import * as i0 from "@angular/core";
export type InteractiveElementProps = {
    Wrapper: any;
    block: BuilderBlock;
    context: BuilderContextInterface;
    wrapperProps: Dictionary<any>;
    includeBlockProps: boolean;
    children?: any;
};
export default class InteractiveElement {
    private vcRef;
    private renderer;
    wrapperProps: InteractiveElementProps["wrapperProps"];
    block: InteractiveElementProps["block"];
    includeBlockProps: InteractiveElementProps["includeBlockProps"];
    context: InteractiveElementProps["context"];
    Wrapper: InteractiveElementProps["Wrapper"];
    wrapperTemplateRef: TemplateRef<any>;
    myContent?: any[][];
    forceRenderCount: number;
    get attributes(): {};
    get targetWrapperProps(): Dictionary<any>;
    mergedInputs_9mmug5: any;
    constructor(vcRef: ViewContainerRef, renderer: Renderer2);
    ngOnInit(): void;
    _listenerFns: Map<string, () => void>;
    private hasAttributesInput;
    private updateAttributes;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private filterPropsThatWrapperNeeds;
    ngOnChanges(changes: SimpleChanges): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<InteractiveElement, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<InteractiveElement, "interactive-element", never, { "wrapperProps": { "alias": "wrapperProps"; "required": false; }; "block": { "alias": "block"; "required": false; }; "includeBlockProps": { "alias": "includeBlockProps"; "required": false; }; "context": { "alias": "context"; "required": false; }; "Wrapper": { "alias": "Wrapper"; "required": false; }; }, {}, never, ["*", "*"], true, never>;
}
