import { NativeKeyboardLayout } from '../common/keyboard/keyboard-layout-provider'; import { Disposable } from '../common'; import { FrontendApplicationState, StopReason } from '../common/frontend-application-state'; export declare type MenuRole = ('undo' | 'redo' | 'cut' | 'copy' | 'paste' | 'selectAll' | 'about' | 'services' | 'hide' | 'hideOthers' | 'unhide' | 'quit'); export interface MenuDto { id?: string; label?: string; submenu?: MenuDto[]; type?: ('normal' | 'separator' | 'submenu' | 'checkbox' | 'radio'); checked?: boolean; enabled?: boolean; visible?: boolean; role?: MenuRole; accelerator?: string; execute?: () => void; } export declare type InternalMenuDto = Omit & { submenu?: InternalMenuDto[]; handlerId?: number; }; export declare type WindowEvent = 'maximize' | 'unmaximize' | 'focus'; export interface TheiaCoreAPI { getSecurityToken: () => string; attachSecurityToken: (endpoint: string) => Promise; setMenuBarVisible(visible: boolean, windowName?: string): void; setMenu(menu: MenuDto[] | undefined): void; popup(menu: MenuDto[], x: number, y: number, onClosed: () => void): Promise; closePopup(handle: number): void; focusWindow(name: string): void; showItemInFolder(fsPath: string): void; getTitleBarStyleAtStartup(): Promise; setTitleBarStyle(style: string): void; setBackgroundColor(backgroundColor: string): void; minimize(): void; isMaximized(): boolean; maximize(): void; unMaximize(): void; close(): void; onWindowEvent(event: WindowEvent, handler: () => void): Disposable; setCloseRequestHandler(handler: (reason: StopReason) => Promise): void; setSecondaryWindowCloseRequestHandler(windowName: string, handler: () => Promise): void; toggleDevTools(): void; getZoomLevel(): Promise; setZoomLevel(desired: number): void; isFullScreenable(): boolean; isFullScreen(): boolean; toggleFullScreen(): void; requestReload(): void; restart(): void; applicationStateChanged(state: FrontendApplicationState): void; readClipboard(): string; writeClipboard(text: string): void; onKeyboardLayoutChanged(handler: (newLayout: NativeKeyboardLayout) => void): Disposable; sendData(data: Uint8Array): void; onData(handler: (data: Uint8Array) => void): Disposable; } declare global { interface Window { electronTheiaCore: TheiaCoreAPI; } } export declare const CHANNEL_SET_MENU = "SetMenu"; export declare const CHANNEL_SET_MENU_BAR_VISIBLE = "SetMenuBarVisible"; export declare const CHANNEL_INVOKE_MENU = "InvokeMenu"; export declare const CHANNEL_OPEN_POPUP = "OpenPopup"; export declare const CHANNEL_ON_CLOSE_POPUP = "OnClosePopup"; export declare const CHANNEL_CLOSE_POPUP = "ClosePopup"; export declare const CHANNEL_GET_SECURITY_TOKEN = "GetSecurityToken"; export declare const CHANNEL_FOCUS_WINDOW = "FocusWindow"; export declare const CHANNEL_SHOW_OPEN = "ShowOpenDialog"; export declare const CHANNEL_SHOW_SAVE = "ShowSaveDialog"; export declare const CHANNEL_SHOW_ITEM_IN_FOLDER = "ShowItemInFolder"; export declare const CHANNEL_ATTACH_SECURITY_TOKEN = "AttachSecurityToken"; export declare const CHANNEL_GET_TITLE_STYLE_AT_STARTUP = "GetTitleStyleAtStartup"; export declare const CHANNEL_SET_TITLE_STYLE = "SetTitleStyle"; export declare const CHANNEL_SET_BACKGROUND_COLOR = "SetBackgroundColor"; export declare const CHANNEL_CLOSE = "Close"; export declare const CHANNEL_MINIMIZE = "Minimize"; export declare const CHANNEL_MAXIMIZE = "Maximize"; export declare const CHANNEL_IS_MAXIMIZED = "IsMaximized"; export declare const CHANNEL_UNMAXIMIZE = "UnMaximize"; export declare const CHANNEL_ON_WINDOW_EVENT = "OnWindowEvent"; export declare const CHANNEL_TOGGLE_DEVTOOLS = "ToggleDevtools"; export declare const CHANNEL_GET_ZOOM_LEVEL = "GetZoomLevel"; export declare const CHANNEL_SET_ZOOM_LEVEL = "SetZoomLevel"; export declare const CHANNEL_IS_FULL_SCREENABLE = "IsFullScreenable"; export declare const CHANNEL_IS_FULL_SCREEN = "IsFullScreen"; export declare const CHANNEL_TOGGLE_FULL_SCREEN = "ToggleFullScreen"; export declare const CHANNEL_REQUEST_SECONDARY_CLOSE = "RequestSecondaryClose"; export declare const CHANNEL_REQUEST_CLOSE = "RequestClose"; export declare const CHANNEL_REQUEST_RELOAD = "RequestReload"; export declare const CHANNEL_RESTART = "Restart"; export declare const CHANNEL_APP_STATE_CHANGED = "ApplicationStateChanged"; export declare const CHANNEL_READ_CLIPBOARD = "ReadClipboard"; export declare const CHANNEL_WRITE_CLIPBOARD = "WriteClipboard"; export declare const CHANNEL_KEYBOARD_LAYOUT_CHANGED = "KeyboardLayoutChanged"; export declare const CHANNEL_IPC_CONNECTION = "IpcConnection"; //# sourceMappingURL=electron-api.d.ts.map