mirror of https://github.com/zulip/zulip.git
electron_bridge: Declare Zulip Desktop binding types.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
parent
c6618c9e55
commit
82e4250592
|
@ -98,6 +98,7 @@ EXEMPT_FILES = make_set(
|
|||
"web/src/drafts_overlay_ui.js",
|
||||
"web/src/dropdown_widget.js",
|
||||
"web/src/echo.js",
|
||||
"web/src/electron_bridge.d.ts",
|
||||
"web/src/emoji_picker.js",
|
||||
"web/src/emojisets.ts",
|
||||
"web/src/favicon.ts",
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
export type NotificationData = {
|
||||
title: string;
|
||||
dir: NotificationDirection;
|
||||
lang: string;
|
||||
body: string;
|
||||
tag: string;
|
||||
icon: string;
|
||||
data: unknown;
|
||||
close(): void;
|
||||
};
|
||||
|
||||
export type ClipboardDecrypter = {
|
||||
version: number;
|
||||
key: Uint8Array;
|
||||
pasted: Promise<string>;
|
||||
};
|
||||
|
||||
export type ElectronBridge = {
|
||||
send_event(eventName: string | symbol, ...args: unknown[]): boolean;
|
||||
on_event(
|
||||
eventName: "logout" | "show-keyboard-shortcuts" | "show-notification-settings",
|
||||
listener: () => void,
|
||||
): void;
|
||||
on_event(
|
||||
eventName: "send_notification_reply_message",
|
||||
listener: (message_id: unknown, reply: unknown) => void,
|
||||
): void;
|
||||
new_notification?(
|
||||
title: string,
|
||||
options: NotificationOptions,
|
||||
dispatch: (type: string, eventInit: EventInit) => boolean,
|
||||
): NotificationData;
|
||||
get_idle_on_system?(): boolean;
|
||||
get_last_active_on_system?(): number;
|
||||
get_send_notification_reply_message_supported?(): boolean;
|
||||
set_send_notification_reply_message_supported?(value: boolean): void;
|
||||
decrypt_clipboard?(version: number): ClipboardDecrypter;
|
||||
};
|
||||
|
||||
declare global {
|
||||
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
|
||||
interface Window {
|
||||
electron_bridge?: ElectronBridge;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue