import * as WoT from "wot-typescript-definitions"; import ExposedThing from "./exposed-thing"; import { ProtocolClientFactory, ProtocolServer, ProtocolClient } from "./protocol-interfaces"; import { ContentCodec } from "./content-serdes"; export default class Servient { #private; private servers; private clientFactories; private things; private credentialStore; addMediaType(codec: ContentCodec, offered?: boolean): void; expose(thing: ExposedThing): Promise; addThing(thing: ExposedThing): boolean; destroyThing(thingId: string): Promise; getThing(id: string): ExposedThing | undefined; getThings(): Record; addServer(server: ProtocolServer): boolean; getServers(): Array; addClientFactory(clientFactory: ProtocolClientFactory): void; removeClientFactory(scheme: string): boolean; hasClientFor(scheme: string): boolean; getClientFor(scheme: string): ProtocolClient; getClientSchemes(): string[]; addCredentials(credentials: Record): void; getCredentials(identifier: string): unknown; retrieveCredentials(identifier: string): Array | undefined; start(): Promise; shutdown(): Promise; }