import { ISetRemoteDescriptionRequest } from './SetRemoteDescription'; export type PublishStatus = 'ok' | 'not-found' | 'geo-restricted' | 'geo-blocked' | 'unauthorized' | 'rate-limited' | 'capacity' | 'timeout' | 'forbidden-tag' | 'missing-channel-or-room-id' | 'port-in-range-not-found' | 'failed'; export interface IPublishRequest { apiVersion: number; clientVersion: string; bearerToken: string; failureCount: number; httpRoundTripTime: number; name: string; options?: string[]; } export interface IPublishWithOfferRequest extends IPublishRequest { setRemoteDescription: ISetRemoteDescriptionRequest; createAnswerDescription: { streamId: string; apiVersion: number; }; } export interface IPublishWithoutOfferRequest extends IPublishRequest { createOfferDescription: { streamId: string; apiVersion: number; }; } export interface IPublishSuccessResponse { status: 'ok'; streamId: string; sharedSecret: string; rtcConfiguration?: RTCConfiguration; setRemoteDescriptionResponse?: { sessionDescription: RTCSessionDescription; }; createOfferDescriptionResponse?: { sessionDescription: RTCSessionDescription; }; createAnswerDescriptionResponse?: { sessionDescription: RTCSessionDescription; }; } export interface IPublishResponse { status: 'not-found' | 'geo-restricted' | 'geo-blocked' | 'unauthorized' | 'rate-limited' | 'capacity' | 'timeout' | 'forbidden-tag' | 'missing-channel-or-room-id' | 'port-in-range-not-found' | 'failed'; }