types.ts (1463B)
1 import { type IResultList } from "@radroots/types-bindings"; 2 import { type ResolveError, type ResolveStatus } from "@radroots/utils"; 3 4 export type IClientNotificationsNotifyPermission = "granted" | "denied" | "default" | "unavailable"; 5 6 export type IClientNotificationsDialogConfirmOpts = 7 | string 8 | { 9 message: string; 10 title?: string; 11 status?: ResolveStatus; 12 cancel?: string; 13 ok?: string; 14 } 15 16 export type IClientNotificationsNotifySendOptions = { 17 id?: string; 18 channel_id?: string; 19 title?: string; 20 body?: string; 21 } 22 23 export type IClientNotificationsConfig = { 24 app_name: string; 25 }; 26 27 export type IClientNotificationsAlertResolve = boolean; 28 export type IClientNotificationsConfirmResolve = boolean; 29 export type IClientNotificationsNotifyInitResolve = ResolveError<IClientNotificationsNotifyPermission>; 30 export type IClientNotificationsNotifySendResolve = ResolveError<Notification> 31 32 export interface IClientNotifications { 33 alert(opts: string, title?: string, status?: ResolveStatus): Promise<IClientNotificationsAlertResolve>; 34 confirm(opts: IClientNotificationsDialogConfirmOpts): Promise<IClientNotificationsConfirmResolve>; 35 notify_init(): Promise<IClientNotificationsNotifyInitResolve>; 36 notify_send(opts: string | IClientNotificationsNotifySendOptions): Promise<IClientNotificationsNotifySendResolve>; 37 open_photos(): Promise<ResolveError<IResultList<string> | undefined>>; 38 }