import { ChangeDetectorRef, Injector, OnChanges, OnDestroy, SimpleChanges, ViewContainerRef } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { NgDocPlaygroundConfig, NgDocPlaygroundProperties } from '@ng-doc/core/interfaces';
import { NgDocBasePlayground } from '../base-playground';
import { NgDocPlaygroundForm } from '../playground-form';
import * as i0 from "@angular/core";
export declare class NgDocPlaygroundDemoComponent<T extends NgDocPlaygroundProperties = NgDocPlaygroundProperties> implements OnChanges, OnDestroy {
    id: string;
    pipeName: string;
    selector: string;
    configuration?: NgDocPlaygroundConfig;
    properties?: T;
    recreateDemo: boolean;
    form: FormGroup<NgDocPlaygroundForm>;
    expanded: boolean;
    demoOutlet?: ViewContainerRef;
    playgroundDemo?: typeof NgDocBasePlayground;
    protected code: string;
    protected readonly injector: Injector;
    protected readonly changeDetectorRef: ChangeDetectorRef;
    private demoRef?;
    private readonly unsubscribe$;
    ngOnChanges({ form, id }: SimpleChanges): Promise<void>;
    private updateDemo;
    private createDemo;
    private updateCodeView;
    private getActiveContent;
    private getActiveInputs;
    private getPipeActiveInputs;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgDocPlaygroundDemoComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgDocPlaygroundDemoComponent<any>, "ng-doc-playground-demo", never, { "id": { "alias": "id"; "required": false; }; "pipeName": { "alias": "pipeName"; "required": false; }; "selector": { "alias": "selector"; "required": false; }; "configuration": { "alias": "configuration"; "required": false; }; "properties": { "alias": "properties"; "required": false; }; "recreateDemo": { "alias": "recreateDemo"; "required": false; }; "form": { "alias": "form"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; }, {}, never, never, true, never>;
}
