import { PhyHubClient, MediaStreamOptions } from '.'; import { Instance, PeripheralOwnershipLoss, TwinMessageResult, TwinResponse } from './types/twin.types'; import { MediaStreamResponderOptions, DataChannelResponderOptions, MediaStreamCallback, DataChannelCallback } from './services/webrtc'; import { DescriptorValidator } from './advisory-validation'; export declare class PeripheralTwinInstance { phyHubClient: PhyHubClient; twinId: string; edgeInstance: Instance | null; peripheralTwinResponse: TwinResponse | null; private messaging; private messagingTransport; private webrtcTransport; private webrtcManager; private advisoryValidator; private ownershipLostTo; private ownershipLostCallbacks; acquiredAsOwner: boolean; private revocationGateWrappers; private twinUpdateDisposers; private validationWrappers; constructor(phyHubClient: PhyHubClient, twinId: string); enableAdvisoryValidation(validator: DescriptorValidator): void; private descriptorLabel; initialize(): Promise; private ensureInitialized; private assertOwnershipHeld; private describeNewOwner; onOwnershipLost(callback: (loss: PeripheralOwnershipLoss) => void): void; markOwnershipLost(loss?: PeripheralOwnershipLoss): void; private registerTwinUpdateHandler; private getWebRTCManager; emit(eventType: string, payload: any): void; emit(eventType: string, payload: any, callback: (response: TwinMessageResult) => void): Promise; on(eventType: string, callback: (message: any, respond?: (result: TwinMessageResult) => void) => void): () => void; off(eventType: string, callback: (message: any, respond?: (result: TwinMessageResult) => void) => void): boolean; to(targetTwinId: string): { emit: { (type: string, payload: any): void; (type: string, payload: any, callback: (response: TwinMessageResult) => void): Promise; }; }; getDataChannel(channelName?: string): Promise; onDataChannel(callback: DataChannelCallback, options?: DataChannelResponderOptions): Promise<() => void>; getMediaStream(options?: MediaStreamOptions): Promise<{ stream: import(".").PhygridMediaStream; close: () => void; }>; onMediaStream(callback: MediaStreamCallback, options?: MediaStreamResponderOptions): Promise<() => void>; answerMediaOffer(offerSdp: string, opts: { viewerId: string; channelName?: string; }): Promise; updateReported(properties: Record): Promise; onUpdateReported(callback: (reportedProperties: Record) => void): () => void; updateDesired(properties: Record): Promise; onUpdateDesired(callback: (desiredProperties: Record) => void): () => void; remove(): Promise; } //# sourceMappingURL=peripheral-twin.d.ts.map