import { ChangeDetectorRef, DoCheck, OnDestroy, ViewContainerRef } from "@angular/core";
import { Base, ISurvey } from "survey-core";
import { EmbeddedViewContentComponent } from "./embedded-view-content.component";
import * as i0 from "@angular/core";
export declare abstract class BaseAngular<T extends Base = Base> extends EmbeddedViewContentComponent implements DoCheck, OnDestroy {
    protected changeDetectorRef: ChangeDetectorRef;
    constructor(changeDetectorRef: ChangeDetectorRef, viewContainerRef?: ViewContainerRef);
    protected get surveyModel(): ISurvey;
    protected abstract getModel(): T;
    protected previousModel?: T;
    private isModelSubsribed;
    ngDoCheck(): void;
    protected onModelChanged(): void;
    private setIsRendering;
    private getIsRendering;
    private isDestroyed;
    ngOnDestroy(): void;
    private makeBaseElementAngularCallback?;
    protected isBaseElementSubsribed(stateElement: Base): boolean;
    private getBaseElementCallbacks;
    private makeBaseElementAngular;
    private unMakeBaseElementAngular;
    protected update(key?: string): void;
    private getChangeDetectorRef;
    protected getPropertiesToUpdateSync(): Array<string>;
    protected detectChanges(): void;
    protected getShouldReattachChangeDetector(): boolean;
    protected beforeUpdate(): void;
    protected afterUpdate(isSync?: boolean): void;
    ngAfterViewChecked(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BaseAngular<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BaseAngular<any>, "ng-component", never, {}, {}, never, never>;
}