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
, op: string, affordance: Affordance, schemes: string[], idx: number): Form | undefined; getSecuritySchemes(security: Array): Array; ensureClientSecurity(client: ProtocolClient, form: Form | undefined): void; getClientFor(forms: Array, op: string, affordance: Affordance, options?: WoT.InteractionOptions): ClientAndForm; readProperty(propertyName: string, options?: WoT.InteractionOptions): Promise; private handleInteractionOutput; private checkMediaTypeOrThrow; private handleActionInteractionOutput; _readProperties(propertyNames: string[]): Promise; readAllProperties(options?: WoT.InteractionOptions): Promise; readMultipleProperties(propertyNames: string[], options?: WoT.InteractionOptions): Promise; writeProperty(propertyName: string, value: WoT.InteractionInput, options?: WoT.InteractionOptions): Promise; writeMultipleProperties(valueMap: WoT.PropertyWriteMap, options?: WoT.InteractionOptions): Promise; invokeAction(actionName: string, parameter?: InteractionInput, options?: WoT.InteractionOptions): Promise; observeProperty(name: string, listener: WoT.WotListener, errorListener?: WoT.ErrorListener, options?: WoT.InteractionOptions): Promise; subscribeEvent(name: string, listener: WoT.WotListener, errorListener?: WoT.ErrorListener, options?: WoT.InteractionOptions): Promise; handleUriVariables(ti: ThingInteraction, form: Form, options?: WoT.InteractionOptions): Form; } export {};