import { ServiceFilter } from "./ServiceFilter"; import { HAPServerConnection } from "../HAPServer"; import { HAPProxy } from "../HAPProxy"; import { HAPClientConnection } from "../HAPClient"; /** * Read/write (with write response) characteristic filter */ export declare abstract class CharacteristicFilter { readonly context: HAPProxy; readonly parent: ServiceFilter; readonly iid: number; /** * Creates a new instance of a CharacteristicFilter * * @param context {HAPProxy} - the associated proxy instance * @param parent {ServiceFilter} - the associated ServiceFilter instance * @param iid {number} - instance id of the characteristic */ constructor(context: HAPProxy, parent: ServiceFilter, iid: number); abstract filterRead(serverConnection: HAPServerConnection, clientConnection: HAPClientConnection, readValue: T): Promise; abstract filterWrite(serverConnection: HAPServerConnection, clientConnection: HAPClientConnection, writtenValue: T): Promise; abstract filterWriteResponse(serverConnection: HAPServerConnection, clientConnection: HAPClientConnection, writeResponseValue: T): Promise; } /** * Read/write characteristic filter */ export declare abstract class CharacteristicFilterRW extends CharacteristicFilter { filterWriteResponse(serverConnection: HAPServerConnection, clientConnection: HAPClientConnection, writeResponseValue: T): Promise; } /** * Read only characteristic filter */ export declare abstract class CharacteristicFilterR extends CharacteristicFilterRW { filterWrite(serverConnection: HAPServerConnection, clientConnection: HAPClientConnection, writtenValue: T): Promise; } /** * Write only characteristic filter */ export declare abstract class CharacteristicFilterW extends CharacteristicFilterRW { filterRead(serverConnection: HAPServerConnection, clientConnection: HAPClientConnection, readValue: T): Promise; } /** * Control point characteristic filter */ export declare abstract class CharacteristicFilterControlPoint extends CharacteristicFilter { filterRead(serverConnection: HAPServerConnection, clientConnection: HAPClientConnection, readValue: T): Promise; } /** * Creates a new instance of a CharacteristicFilter * * @param context {HAPProxy} - the associated proxy instance * @param parent {ServiceFilter} - the associated ServiceFilter instance * @param iid {number} - instance id of the characteristic */ export declare type CharacteristicFilterConstructor = new (context: HAPProxy, parent: ServiceFilter, iid: number) => CharacteristicFilter; //# sourceMappingURL=CharacteristicFilter.d.ts.map