import { TemplateResult } from '@rxdi/lit-html';
import { Observable } from 'rxjs';
import { MODAL_DIALOG_OPTIONS } from './interface';
import { DialogData } from '../modals/main/interface';
export declare class ModalService {
    private options;
    private originalOptions;
    private modalRef;
    private modalTemplate;
    private closeSubject$;
    private containerRef;
    private $onScroll;
    constructor();
    setScrollWidth(value: number): void;
    setContainerRef(element: HTMLElement): void;
    getContainerRef(): HTMLElement;
    scrollTo(value: number): void;
    onScroll(): Observable<number>;
    open<T>(template: TemplateResult, dialogOptions?: MODAL_DIALOG_OPTIONS): Observable<T>;
    openCustomModal<T = any>(data: DialogData, settings?: MODAL_DIALOG_OPTIONS): Observable<T>;
    overflow(type: 'hidden' | 'visible'): void;
    openComponent<T = any>(component: Function, options?: {}, dialogOptions?: MODAL_DIALOG_OPTIONS): Observable<T>;
    private setSettings;
    openSequence<T>(components: {
        component: Function;
        data: T;
        options?: MODAL_DIALOG_OPTIONS;
    }[]): Observable<unknown>;
    getTemplate(): Observable<TemplateResult<2 | 1>>;
    getRef(): HTMLElement;
    close<T>(result?: T): void;
    private createModalContainer;
    private appendReference;
    private createModalPortal;
    private removeModalPortal;
}
