import { CharacteristicValue } from 'homebridge'; import { DummyAccessory } from '../accessory/base.js'; import { HKCharacteristicKey } from './enums.js'; import { DummyConfig, WebhookConfig } from './types.js'; import { Log } from '../tools/log.js'; type WebhookGetter = () => (CharacteristicValue | undefined); type WebhookSetter = (value: CharacteristicValue, syncOnly: boolean) => (string); export declare class Range { readonly min: number; readonly max: number; constructor(min: number, max: number); } export declare class Values { readonly values: CharacteristicValue[]; readonly asString: string; constructor(values: CharacteristicValue[], asString: string); } export declare class Webhook { readonly accessory: DummyAccessory; readonly characteristic: HKCharacteristicKey; readonly validValues: Range | Values; readonly getter: WebhookGetter; readonly setter: WebhookSetter; readonly disableLogging: boolean | undefined; constructor(accessory: DummyAccessory, characteristic: HKCharacteristicKey, validValues: Range | Values, getter: WebhookGetter, setter: WebhookSetter, disableLogging: boolean | undefined); validateValue(value: CharacteristicValue): true | Error; } export declare class WebhookManager { private readonly log; private readonly config; private server; private readonly webhooks; constructor(log: Log, configPath: string, config?: WebhookConfig); registerWebhooks(webhooks: Webhook[]): void; startServer(): void; teardown(): void; private onRequest; private getValue; private onList; private setValue; private getWebhook; private onBadRequest; private generateTableHTML; } export {};