import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { Controller } from 'lil-gui';
import type { NgxLilGuiControllerChange, NgxLilGuiControllerConfig, NgxLilGuiControllerFinishChange } from './types';
import * as i0 from "@angular/core";
export declare class NgxLilGuiController implements OnInit, OnDestroy {
    #private;
    property: string;
    controllerConfig?: NgxLilGuiControllerConfig[string];
    valueChange: EventEmitter<NgxLilGuiControllerChange>;
    finishChange: EventEmitter<NgxLilGuiControllerFinishChange>;
    controllerReady: EventEmitter<Controller>;
    preAdd: EventEmitter<void>;
    ngOnInit(): void;
    ngOnDestroy(): void;
    get controller(): Controller | undefined;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxLilGuiController, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<NgxLilGuiController, "ngx-lil-gui-controller", never, { "property": { "alias": "property"; "required": true; }; "controllerConfig": { "alias": "controllerConfig"; "required": false; }; }, { "valueChange": "valueChange"; "finishChange": "finishChange"; "controllerReady": "controllerReady"; "preAdd": "preAdd"; }, never, never, true, never>;
}
