import model, { type Channel, type Member, type Publication, type Subscription } from '@skyway-sdk/model'; import type { PublicationSummary, SubscriptionSummary } from '@skyway-sdk/rtc-rpc-api-client'; import type { Config } from '../config'; import * as event from '../model/event'; import type { MemberInit, PublicationInit, RtcApi, SubscriptionInit } from './api'; import type { EventObserver } from './eventObserver'; export declare class ChannelImpl implements model.Channel { readonly appId: string; private eventObserver; private apiClient; private config; readonly id: string; readonly name: string; metadata?: string; members: model.Member[]; getMember(id: string): model.Member | undefined; addMember(member: model.Member): model.Member; deleteMember(id: string): void; publications: model.Publication[]; getPublication(id: string): model.Publication | undefined; addPublication(summary: PublicationSummary): model.Publication; deletePublication(publicationId: string): void; subscriptions: model.Subscription[]; getSubscription(id: string): model.Subscription | undefined; addSubscription(summary: SubscriptionSummary): model.Subscription; deleteSubscription(subscriptionId: string): void; version: number; disposed: boolean; private readonly _events; readonly onClosed: import("@skyway-sdk/common").Event; readonly onMetadataUpdated: import("@skyway-sdk/common").Event; readonly onMemberListChanged: import("@skyway-sdk/common").Event; readonly onMemberJoined: import("@skyway-sdk/common").Event; readonly onMemberLeft: import("@skyway-sdk/common").Event; readonly onMemberMetadataUpdated: import("@skyway-sdk/common").Event; readonly onPublicationDisabled: import("@skyway-sdk/common").Event; readonly onPublicationEnabled: import("@skyway-sdk/common").Event; readonly onPublicationListChanged: import("@skyway-sdk/common").Event; readonly onStreamPublished: import("@skyway-sdk/common").Event; readonly onStreamUnpublished: import("@skyway-sdk/common").Event; readonly onPublicationMetadataUpdated: import("@skyway-sdk/common").Event; readonly onSubscriptionListChanged: import("@skyway-sdk/common").Event; readonly onPublicationSubscribed: import("@skyway-sdk/common").Event; readonly onPublicationUnsubscribed: import("@skyway-sdk/common").Event; constructor(appId: string, { id, name, members, metadata, publications, subscriptions, version, }: model.Channel, eventObserver: EventObserver, apiClient: RtcApi, config: Config); private _channelClosed; private _channelMetadataUpdated; private _memberJoined; private _memberLeft; private _memberMetadataUpdated; private _streamPublished; private _streamUnpublished; private _publicationMetadataUpdated; private _publicationDisabled; private _publicationEnabled; private _streamSubscribed; private _streamUnsubscribed; updateChannelMetadata: (metadata: string) => Promise; joinChannel(memberInit: MemberInit): Promise; leave: (channelId: Channel['id'], memberId: Member['id']) => Promise; updateMemberTtl(memberId: Member['id'], ttlSec: number): Promise; updateMemberMetadata: (memberId: Member['id'], metadata: string) => Promise; /**@throws {SkyWayError} */ publish(init: Omit): Promise; unpublish: (publicationId: Publication['id']) => Promise; updatePublicationMetadata: (publicationId: Publication['id'], metadata: string) => Promise; disablePublication: (publicationId: Publication['id']) => Promise; enablePublication: (publicationId: Publication['id']) => Promise; /**@throws {@link SkyWayError} */ subscribe(init: Omit): Promise; unsubscribe: (subscriptionId: Subscription['id']) => Promise; close(): Promise; /** * リソースの解放 * - Channelイベントの購読停止 * - イベントリスナー */ dispose(): void; } export declare function channelFactory(appId: string, eventObserver: EventObserver, api: RtcApi, channelDto: Channel, config: Config): ChannelImpl; //# sourceMappingURL=channel.d.ts.map