import { ConsumedThing as IConsumedThing, InteractionInput, Subscription } from "wot-typescript-definitions"; import { Form, Thing, ThingInteraction, SecurityScheme } from "./thing-description"; import { ThingModel } from "wot-thing-model-types"; import Servient from "./servient"; import { ProtocolClient } from "./protocol-interfaces"; import { ActionElement, EventElement, PropertyElement } from "wot-thing-description-types"; declare enum Affordance { PropertyAffordance = 0, ActionAffordance = 1, EventAffordance = 2 } export interface ClientAndForm { client: ProtocolClient; form?: Form; } export default class ConsumedThing extends Thing implements IConsumedThing { #private; properties: { [key: string]: PropertyElement; }; actions: { [key: string]: ActionElement; }; events: { [key: string]: EventElement; }; private subscribedEvents; private observedProperties; constructor(servient: Servient, thingModel?: ThingModel); getThingDescription(): WoT.ThingDescription; emitEvent(name: string, data: InteractionInput): void; extendInteractions(): void; findForm(forms: Array