import { NewWindowOptions } from '../../common/window';
import { DefaultWindowService } from '../../browser/window/default-window-service';
import { ElectronMainWindowService } from '../../electron-common/electron-main-window-service';
import { ElectronWindowPreferences } from '../../electron-common/electron-window-preferences';
import { ConnectionCloseService } from '../../common/messaging/connection-management';
import { FrontendIdProvider } from '../../browser/messaging/frontend-id-provider';
import { WindowReloadOptions } from '../../browser/window/window-service';
import { Listener, ListenerList } from '../../common/listener';
export declare class ElectronWindowService extends DefaultWindowService {
    /**
     * Lock to prevent multiple parallel executions of the `beforeunload` listener.
     */
    protected isUnloading: boolean;
    /**
     * Close the window right away when `true`, else check if we can unload.
     */
    protected closeOnUnload: boolean;
    protected readonly frontendIdProvider: FrontendIdProvider;
    protected readonly delegate: ElectronMainWindowService;
    protected readonly electronWindowPreferences: ElectronWindowPreferences;
    protected readonly connectionCloseService: ConnectionCloseService;
    protected readonly onWillShutDownListeners: ListenerList<void, Promise<void>>;
    readonly onWillShutDown: Listener.Registration<void, Promise<void>>;
    openNewWindow(url: string, { external }?: NewWindowOptions): undefined;
    openNewDefaultWindow(params?: WindowReloadOptions): Promise<number>;
    closeWindow(windowId: number): void;
    focus(): void;
    protected init(): void;
    protected registerUnloadListeners(): void;
    /**
     * Updates the window zoom level based on the preference value.
     */
    protected updateWindowZoomLevel(): Promise<void>;
    reload(params?: WindowReloadOptions): void;
}
//# sourceMappingURL=electron-window-service.d.ts.map