import type { Event } from '@skyway-sdk/common'; import type { Member } from '../../member'; import type { LocalPersonImpl } from '../../member/localPerson'; import type { PublicationImpl } from '../../publication'; import type { SubscriptionImpl } from '../../subscription'; /**@internal */ export interface SkyWayConnection { readonly type: string; readonly localPerson: LocalPersonImpl; readonly remoteMember: Pick; readonly onDisconnect: Event; readonly onClose: Event; closed: boolean; close(props?: { reason?: string; }): void; /**@throws {SkyWayError} */ startPublishing?(publication: PublicationImpl, subscriptionId: string): Promise; stopPublishing?(publication: PublicationImpl): Promise; startSubscribing?(subscription: SubscriptionImpl): Promise; stopSubscribing?(subscription: SubscriptionImpl): Promise; changePreferredEncoding?(subscription: SubscriptionImpl): Promise; } /**@internal */ export interface Transport { connectionState: TransportConnectionState; rtcPeerConnection: RTCPeerConnection; } export declare type TransportConnectionState = 'new' | 'connecting' | 'connected' | 'reconnecting' | 'disconnected'; //# sourceMappingURL=connection.d.ts.map