import { ViewContainerRef, TemplateRef, Renderer2, InputSignal } 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 viewContainer;
    private renderer;
    myContent: import("@angular/core").WritableSignal<any[]>;
    wrapperTemplateRef: import("@angular/core").Signal<TemplateRef<any>>;
    wrapperProps: InputSignal<InteractiveElementProps["wrapperProps"]>;
    block: InputSignal<InteractiveElementProps["block"]>;
    includeBlockProps: InputSignal<InteractiveElementProps["includeBlockProps"]>;
    context: InputSignal<InteractiveElementProps["context"]>;
    Wrapper: InputSignal<InteractiveElementProps["Wrapper"]>;
    forceRenderCount: import("@angular/core").WritableSignal<number>;
    private _listenerFns;
    attributes: import("@angular/core").Signal<{}>;
    targetWrapperProps: import("@angular/core").Signal<Dictionary<any>>;
    dynamicProps_z2itiz: import("@angular/core").Signal<{
        attributes: {};
    }>;
    hasAttributesInput(component: any): boolean;
    filterPropsThatWrapperNeeds(allProps: any): {};
    updateAttributes(el: HTMLElement, attributes: {
        [key: string]: any;
    }): void;
    constructor(viewContainer: ViewContainerRef, renderer: Renderer2);
    _updateView(): void;
    ngAfterViewInit(): void;
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<InteractiveElement, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<InteractiveElement, "interactive-element", never, { "wrapperProps": { "alias": "wrapperProps"; "required": false; "isSignal": true; }; "block": { "alias": "block"; "required": false; "isSignal": true; }; "includeBlockProps": { "alias": "includeBlockProps"; "required": false; "isSignal": true; }; "context": { "alias": "context"; "required": false; "isSignal": true; }; "Wrapper": { "alias": "Wrapper"; "required": false; "isSignal": true; }; }, {}, never, ["*", "*"], true, never>;
}
