| // 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 Type definitions for chrome.bluetoothPrivate API. */ |
| |
| import {ChromeEvent} from './chrome_event.js'; |
| |
| declare global { |
| export namespace chrome { |
| export namespace bluetoothPrivate { |
| export enum PairingEventType { |
| REQUEST_PINCODE = 'requestPincode', |
| DISPLAY_PINCODE = 'displayPincode', |
| REQUEST_PASSKEY = 'requestPasskey', |
| DISPLAY_PASSKEY = 'displayPasskey', |
| KEYS_ENTERED = 'keysEntered', |
| CONFIRM_PASSKEY = 'confirmPasskey', |
| REQUEST_AUTHORIZATION = 'requestAuthorization', |
| COMPLETE = 'complete', |
| } |
| |
| export enum ConnectResultType { |
| ALREADY_CONNECTED = 'alreadyConnected', |
| AUTH_CANCELED = 'authCanceled', |
| AUTH_FAILED = 'authFailed', |
| AUTH_REJECTED = 'authRejected', |
| AUTH_TIMEOUT = 'authTimeout', |
| FAILED = 'failed', |
| IN_PROGRESS = 'inProgress', |
| SUCCESS = 'success', |
| UNKNOWN_ERROR = 'unknownError', |
| UNSUPPORTED_DEVICE = 'unsupportedDevice', |
| NOT_READY = 'notReady', |
| ALREADY_EXISTS = 'alreadyExists', |
| NOT_CONNECTED = 'notConnected', |
| DOES_NOT_EXIST = 'doesNotExist', |
| INVALID_ARGS = 'invalidArgs', |
| } |
| |
| export enum PairingResponse { |
| CONFIRM = 'confirm', |
| REJECT = 'reject', |
| CANCEL = 'cancel', |
| } |
| |
| export interface PairingEvent { |
| pairing: PairingEventType; |
| device: chrome.bluetooth.Device; |
| pincode?: string; |
| passkey?: number; |
| enteredKey?: number; |
| } |
| |
| export interface SetPairingResponseOptions { |
| device: chrome.bluetooth.Device; |
| response: PairingResponse; |
| pincode?: string; |
| passkey?: number; |
| } |
| |
| export function setPairingResponse(options: SetPairingResponseOptions): |
| Promise<void>; |
| |
| export function disconnectAll(deviceAddress: string): Promise<void>; |
| |
| export function forgetDevice(deviceAddress: string): Promise<void>; |
| |
| export function connect(deviceAddress: string): |
| Promise<ConnectResultType>; |
| |
| export function pair(deviceAddress: string): Promise<void>; |
| |
| export const onPairing: ChromeEvent<(pairingEvent: PairingEvent) => void>; |
| } |
| } |
| } |