import { ChangeDetectorRef, OnInit, Type, ViewContainerRef } from '@angular/core';
import { NgDocPlaygroundConfig } from '@ng-doc/core/interfaces';
import { Constructor } from '@ng-doc/core/types';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
/**
 * Base class for playgrounds components.
 */
export declare abstract class NgDocBasePlayground implements Pick<NgDocPlaygroundConfig, 'data'>, OnInit {
    private playgroundInstance?;
    static readonly selector: string;
    abstract readonly playground?: Type<any>;
    abstract readonly viewContainerRef?: ViewContainerRef;
    abstract readonly configData: Record<string, unknown>;
    properties: Record<string, any>;
    actionData: Record<string, unknown>;
    content: any;
    defaultValues: Record<string, unknown>;
    private reattached;
    private playgroundContainer;
    protected changeDetectorRef: ChangeDetectorRef;
    protected constructor(playgroundInstance?: Constructor<unknown> | undefined);
    get onReattached(): Observable<void>;
    ngOnInit(): void;
    get data(): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgDocBasePlayground, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<NgDocBasePlayground, never, never, { "properties": { "alias": "properties"; "required": false; }; "actionData": { "alias": "actionData"; "required": false; }; "content": { "alias": "content"; "required": false; }; }, {}, never, never, true, never>;
}
