import { OverlayConfig, GlobalPositionStrategy } from '@angular/cdk/overlay';
import * as i0 from '@angular/core';
import { InjectionToken } from '@angular/core';
import { NgDocOverlayRef } from '@ng-doc/ui-kit/classes';
import { NgDocOverlayService } from '@ng-doc/ui-kit/services/overlay';
import { NgDocContent } from '@ng-doc/ui-kit/types';

interface NgDocDialogConfig<D = unknown> extends OverlayConfig {
    data?: D;
}

declare const NG_DOC_DIALOG_DATA: InjectionToken<unknown>;
declare class NgDocDialogService {
    protected overlayService: NgDocOverlayService;
    open<R = unknown>(content: NgDocContent, config?: NgDocDialogConfig): NgDocOverlayRef<R>;
    positionStrategy(): GlobalPositionStrategy;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgDocDialogService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NgDocDialogService>;
}

export { NG_DOC_DIALOG_DATA, NgDocDialogService };
export type { NgDocDialogConfig };
