import { ApplicationRef, ComponentFactoryResolver, Injector, Type } from '@angular/core';
import { DialogData, DialogRef, PopoverData } from '../components/dialog/dialog.helpers';
import * as i0 from "@angular/core";
export declare class TipDialogService {
    private componentFactoryResolver;
    private appRef;
    private injector;
    private document;
    constructor(componentFactoryResolver: ComponentFactoryResolver, appRef: ApplicationRef, injector: Injector, document: Document);
    openDialog<RETURN, DATA = any, COMPONENT = any>(component: Type<COMPONENT>, config?: Partial<DialogData<DATA>>): DialogRef<RETURN, DATA, Type<COMPONENT>>;
    openPopover<RETURN, DATA = any, COMPONENT extends Type<any> = any>(component: COMPONENT, config: Partial<PopoverData<DATA>> & {
        position: PopoverData<any>['position'];
    }): DialogRef<RETURN, DATA, COMPONENT>;
    /**
     * @param component The component which will be displayed
     * @param config The config of the dialog
     * @param wrapperComponent The wrapper component which will encapsulate the user component
     */
    private createAndAttachComponent;
    static ɵfac: i0.ɵɵFactoryDeclaration<TipDialogService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TipDialogService>;
}
