UNPKG

homebridge-homeconnect

Version:

A Homebridge plugin that connects Home Connect appliances to Apple HomeKit

56 lines 2.46 kB
import { Logger, LogLevel } from 'homebridge'; import { IncomingHttpHeaders } from 'http'; import { Dispatcher } from 'undici'; import { Checker, IErrorDetail } from 'ts-interface-checker'; import { ParsedUrlQueryInput } from 'node:querystring'; import { ConfigPlugin } from './config-types.js'; export type Method = Dispatcher.HttpMethod; export type Headers = IncomingHttpHeaders; export type Response = Dispatcher.ResponseData; export interface Request { method: Method; path: string; headers: Headers; body?: string; idempotent?: boolean; } export type SSE = Record<string, string>; export declare class APIUserAgent { readonly log: Logger; readonly config: ConfigPlugin; readonly language: string; readonly url: string; private readonly requestTimeout; private readonly streamTimeout; private readonly defaultHeaders; private requestCount; private earliestRetry; constructor(log: Logger, config: ConfigPlugin, language: string); get<Type>(checker: Checker, path: string): Promise<Type>; getStream(path: string): Promise<{ request: Request; response: Response; stream: AsyncGenerator<SSE, void, void>; }>; getRedirect(path: string): Promise<URL>; put(path: string, body: object): Promise<void>; post<Type>(checker: Checker, path: string, form: ParsedUrlQueryInput): Promise<Type>; delete(path: string): Promise<void>; getEmptyResponse(request: Request, response: Response): Promise<void>; getJSONResponse<Type>(checker: Checker, request: Request, response: Response): Promise<Type>; getRedirectResponse(request: Request, response: Response): Promise<URL>; getSSEResponse(request: Request, response: Response): AsyncGenerator<SSE, void, void>; request(method: Method, path: string, options?: Partial<Request>): Promise<{ request: Request; response: Response; }>; prepareRequest(method: Method, path: string, options?: Partial<Request>): Promise<Request>; canRetry(err: unknown): boolean; get retryDelay(): number; set retryDelay(ms: number); requestCore(logPrefix: string, request: Request): Promise<Response>; logHeaders(name: string, headers: Headers): void; logBody(name: string, body: unknown): void; logCheckerValidation(level: LogLevel, message: string, request: Request | undefined, errors: IErrorDetail[], json: unknown): void; } //# sourceMappingURL=api-ua.d.ts.map