| // Copyright 2022 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| /** @fileoverview Minimum definitions for chrome.notifications API */ |
| // TODO(crbug.com/40179454): Auto-generate this file. |
| |
| import {ChromeEvent} from './chrome_event.js'; |
| |
| declare global { |
| export namespace chrome { |
| export namespace notifications { |
| export type TemplateType = 'basic'|'image'|'list'|'progress'; |
| |
| export interface ButtonOptions { |
| title: string; |
| iconUrl?: string; |
| } |
| |
| export interface ItemOptions { |
| title: string; |
| message: string; |
| } |
| |
| export interface NotificationOptions { |
| contextMessage?: string; |
| priority?: number; |
| eventTime?: number; |
| buttons?: ButtonOptions[]; |
| items?: ItemOptions[]; |
| progress?: number; |
| isClickable?: boolean; |
| appIconMaskUrl?: string; |
| imageUrl?: string; |
| requireInteraction?: boolean; |
| silent?: boolean; |
| } |
| |
| export interface NotificationButtonClickedEvent |
| extends ChromeEvent<( |
| notificationId: string, |
| buttonIndex: number) => void> { } |
| |
| export const onButtonClicked: NotificationButtonClickedEvent; |
| export function create( |
| notificationId: string, |
| options: NotificationOptions, |
| callback?: (notificationId: string) => void, |
| ): void; |
| export function create( |
| options: NotificationOptions, |
| callback?: (notificationId: string) => void): void; |
| export function clear( |
| notificationId: string, |
| callback?: (wasCleared: boolean) => void): void; |
| } |
| } |
| } |