UNPKG

homebridge-homeconnect

Version:

A Homebridge plugin that connects Home Connect appliances to Apple HomeKit

88 lines 3.65 kB
export type Scope = 'Monitor' | 'Control' | 'Settings' | 'Images' | 'AirConditioner' | 'AirConditioner-Monitor' | 'AirConditioner-Control' | 'AirConditioner-Settings' | 'CleaningRobot' | 'CleaningRobot-Monitor' | 'CleaningRobot-Control' | 'CleaningRobot-Settings' | 'CoffeeMaker' | 'CoffeeMaker-Monitor' | 'CoffeeMaker-Control' | 'CoffeeMaker-Settings' | 'CookProcessor' | 'CookProcessor-Monitor' | 'CookProcessor-Control' | 'CookProcessor-Settings' | 'Dishwasher' | 'Dishwasher-Monitor' | 'Dishwasher-Control' | 'Dishwasher-Settings' | 'Dryer' | 'Dryer-Monitor' | 'Dryer-Control' | 'Dryer-Settings' | 'Freezer' | 'Freezer-Monitor' | 'Freezer-Control' | 'Freezer-Settings' | 'FridgeFreezer' | 'FridgeFreezer-Monitor' | 'FridgeFreezer-Control' | 'FridgeFreezer-Settings' | 'FridgeFreezer-Images' | 'Hob' | 'Hob-Monitor' | 'Hob-Control' | 'Hob-Settings' | 'Hood' | 'Hood-Monitor' | 'Hood-Control' | 'Hood-Settings' | 'Microwave' | 'Microwave-Monitor' | 'Microwave-Control' | 'Microwave-Settings' | 'Oven' | 'Oven-Monitor' | 'Oven-Control' | 'Oven-Settings' | 'Refrigerator' | 'Refrigerator-Monitor' | 'Refrigerator-Control' | 'Refrigerator-Settings' | 'Washer' | 'Washer-Monitor' | 'Washer-Control' | 'Washer-Settings' | 'WasherDryer' | 'WasherDryer-Monitor' | 'WasherDryer-Control' | 'WasherDryer-Settings' | 'WineCooler' | 'WineCooler-Monitor' | 'WineCooler-Control' | 'WineCooler-Settings'; export interface AuthorisationRequest { client_id: string; redirect_uri?: string; response_type: 'code'; scope?: string; state?: AuthorisationState; nonce?: string; code_challenge?: string; code_challenge_method?: 'plain' | 'S256'; } export type AuthorisationState = string | number; export interface AuthorisationResponse { code: string; grant_type?: 'authorization_code'; state?: AuthorisationState; } export interface AccessTokenRequest { client_id: string; client_secret?: string; redirect_uri?: string; grant_type: 'authorization_code'; code: string; code_verifier?: string; } export interface AccessTokenResponse { id_token: string; access_token: string; expires_in: number; scope: string; refresh_token: string; token_type?: 'Bearer'; } export interface DeviceAuthorisationRequest { client_id: string; scope?: string; } export interface DeviceAuthorisationResponse { device_code: string; user_code: string; verification_uri: string; verification_uri_complete?: string; expires_in?: number; interval?: number; } export interface DeviceAccessTokenRequest { grant_type: 'urn:ietf:params:oauth:grant-type:device_code' | 'device_code'; device_code: string; client_id: string; client_secret?: string; } export interface DeviceAccessTokenResponse { id_token: string; access_token: string; expires_in: number; scope: string; refresh_token: string; token_type?: 'Bearer'; } export interface AccessTokenRefreshRequest { grant_type: 'refresh_token'; refresh_token: string; client_secret?: string; scope?: string; expires_in?: number; } export interface AccessTokenRefreshResponse { id_token: string; access_token: string; expires_in: number; scope: string; refresh_token: string; token_type: 'Bearer'; } export interface AbsoluteToken { refreshToken: string; accessToken: string; accessExpires: number; scopes: string[]; } export interface PersistAbsoluteTokens { [index: string]: AbsoluteToken; } export interface AuthorisationError { error: string; error_description: string; } //# sourceMappingURL=api-auth-types.d.ts.map