import { ComponentType } from '@angular/cdk/portal'; import { MatDialog } from '@angular/material/dialog'; import { Destroyable } from '@ts-core/common'; import { ObservableData } from '@ts-core/common/observer'; import { LanguageService } from '@ts-core/frontend/language'; import { Observable } from 'rxjs'; import { CookieService } from '../cookie/CookieService'; import { IQuestion, IQuestionOptions } from '../question/IQuestion'; import { IWindow } from './IWindow'; import { IWindowContent } from './IWindowContent'; import { WindowAlign, WindowConfig, WindowConfigOptions } from './WindowConfig'; import { WindowFactory } from './WindowFactory'; export declare class WindowService extends Destroyable { factory: WindowFactory; questionComponent: ComponentType; isNeedCheckPositionAfterOpen: boolean; protected dialog: MatDialog; protected language: LanguageService; private _windows; private observer; private properties; gapX: number; gapY: number; minWidth: number; minHeight: number; paddingTop: number; paddingLeft: number; paddingRight: number; paddingBottom: number; defaultVerticalAlign: WindowAlign; defaultHorizontalAlign: WindowAlign; topZIndex: number; constructor(dialog: MatDialog, language: LanguageService, cookies: CookieService); private sortFunction; private updateTop; private setWindowOnTop; private checkPosition; private hasSamePosition; private add; private remove; private getById; private setDefaultProperties; open(component: ComponentType, config: WindowConfig): IWindowContent; get(value: WindowId): IWindowContent; has(value: WindowId): boolean; setOnTop(value: WindowId): boolean; removeAll(): void; destroy(): void; info(translationId?: string, translation?: any, questionOptions?: IQuestionOptions, configOptions?: WindowConfigOptions): IQuestion; question(translationId?: string, translation?: any, questionOptions?: IQuestionOptions, configOptions?: WindowConfigOptions): IQuestion; private get windowsArray(); get events(): Observable>; get windows(): Map; } export declare class PropertiesManager extends Destroyable { private cookies; constructor(cookies: CookieService); load(name: string, config: WindowConfig): void; save(name: string, window: IWindow): void; destroy(): void; } export declare type WindowId = string | WindowConfig; export declare enum WindowServiceEvent { OPENED = "OPENED", CLOSED = "CLOSED", SETTED_ON_TOP = "SETTED_ON_TOP" }