import { ChangeDetectorRef, OnChanges, OnDestroy, SimpleChanges, ViewContainerRef } from '@angular/core';
import { WindowContentComponent } from './window-content.component';
import { WindowRegistry, WindowState } from './window-state';
import { WindowMenuState } from './window-menu';
import { WindowHeaderComponent } from './window-header.component';
import { DuiApp } from '../app';
import * as i0 from "@angular/core";
/**
 * This is only for documentation purposes.
 */
export declare class WindowFrameComponent {
    height: number;
    static ɵfac: i0.ɵɵFactoryDeclaration<WindowFrameComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<WindowFrameComponent, "dui-window-frame", never, { "height": { "alias": "height"; "required": false; }; }, {}, never, ["*"], false, never>;
}
export declare class WindowComponent implements OnChanges, OnDestroy {
    protected registry: WindowRegistry;
    windowState: WindowState;
    app: DuiApp;
    viewContainerRef: ViewContainerRef;
    protected inDialog: boolean;
    protected parentWindow?: WindowComponent | undefined;
    electronWindow?: any | undefined;
    id: number;
    content?: WindowContentComponent;
    header?: WindowHeaderComponent;
    closable: boolean;
    maximizable: boolean;
    minimizable: boolean;
    protected onBlur: () => void;
    protected onFocus: () => void;
    constructor(document: Document, registry: WindowRegistry, windowState: WindowState, cd: ChangeDetectorRef, app: DuiApp, windowMenuState: WindowMenuState, viewContainerRef: ViewContainerRef, inDialog: boolean, parentWindow?: WindowComponent | undefined, electronWindow?: any | undefined);
    ngOnDestroy(): void;
    isInDialog(): boolean;
    getClosestNonDialogWindow(): WindowComponent | undefined;
    ngOnChanges(changes: SimpleChanges): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<WindowComponent, [null, null, null, null, null, null, null, null, { optional: true; skipSelf: true; }, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<WindowComponent, "dui-window", never, { "closable": { "alias": "closable"; "required": false; }; "maximizable": { "alias": "maximizable"; "required": false; }; "minimizable": { "alias": "minimizable"; "required": false; }; }, {}, ["content", "header"], ["*"], false, never>;
}
