import { CompositionState, DestinationState, EventErrorCode, EventName, IngestConfigurationState, IngestProtocol, ParticipantProtocol, ParticipantRecordingFilterByRecordingState, ParticipantRecordingMediaType, ParticipantRecordingState, ParticipantState, ParticipantTokenCapability, PipBehavior, PipPosition, RecordingConfigurationFormat, ReplicationState, ReplicationType, ThumbnailRecordingMode, ThumbnailStorageType, VideoAspectRatio, VideoFillMode, } from "./enums"; export interface Video { width?: number | undefined; height?: number | undefined; framerate?: number | undefined; bitrate?: number | undefined; } export interface CreateEncoderConfigurationRequest { name?: string | undefined; video?: Video | undefined; tags?: Record | undefined; } export interface EncoderConfiguration { arn: string | undefined; name?: string | undefined; video?: Video | undefined; tags?: Record | undefined; } export interface CreateEncoderConfigurationResponse { encoderConfiguration?: EncoderConfiguration | undefined; } export interface CreateIngestConfigurationRequest { name?: string | undefined; stageArn?: string | undefined; userId?: string | undefined; attributes?: Record | undefined; ingestProtocol: IngestProtocol | undefined; insecureIngest?: boolean | undefined; redundantIngest?: boolean | undefined; tags?: Record | undefined; } export interface RedundantIngestCredential { participantId?: string | undefined; streamKey?: string | undefined; } export interface IngestConfiguration { name?: string | undefined; arn: string | undefined; ingestProtocol: IngestProtocol | undefined; streamKey: string | undefined; stageArn: string | undefined; participantId: string | undefined; state: IngestConfigurationState | undefined; userId?: string | undefined; redundantIngest?: boolean | undefined; redundantIngestCredentials?: RedundantIngestCredential[] | undefined; attributes?: Record | undefined; tags?: Record | undefined; } export interface CreateIngestConfigurationResponse { ingestConfiguration?: IngestConfiguration | undefined; } export interface CreateParticipantTokenRequest { stageArn: string | undefined; duration?: number | undefined; userId?: string | undefined; attributes?: Record | undefined; capabilities?: ParticipantTokenCapability[] | undefined; } export interface ParticipantToken { participantId?: string | undefined; token?: string | undefined; userId?: string | undefined; attributes?: Record | undefined; duration?: number | undefined; capabilities?: ParticipantTokenCapability[] | undefined; expirationTime?: Date | undefined; } export interface CreateParticipantTokenResponse { participantToken?: ParticipantToken | undefined; } export interface ParticipantRecordingHlsConfiguration { targetSegmentDurationSeconds?: number | undefined; } export interface ParticipantThumbnailConfiguration { targetIntervalSeconds?: number | undefined; storage?: ThumbnailStorageType[] | undefined; recordingMode?: ThumbnailRecordingMode | undefined; } export interface AutoParticipantRecordingConfiguration { storageConfigurationArn: string | undefined; mediaTypes?: ParticipantRecordingMediaType[] | undefined; thumbnailConfiguration?: ParticipantThumbnailConfiguration | undefined; recordingReconnectWindowSeconds?: number | undefined; hlsConfiguration?: ParticipantRecordingHlsConfiguration | undefined; recordParticipantReplicas?: boolean | undefined; } export interface ParticipantTokenConfiguration { duration?: number | undefined; userId?: string | undefined; attributes?: Record | undefined; capabilities?: ParticipantTokenCapability[] | undefined; } export interface CreateStageRequest { name?: string | undefined; participantTokenConfigurations?: ParticipantTokenConfiguration[] | undefined; tags?: Record | undefined; autoParticipantRecordingConfiguration?: | AutoParticipantRecordingConfiguration | undefined; } export interface StageEndpoints { events?: string | undefined; whip?: string | undefined; rtmp?: string | undefined; rtmps?: string | undefined; } export interface Stage { arn: string | undefined; name?: string | undefined; activeSessionId?: string | undefined; tags?: Record | undefined; autoParticipantRecordingConfiguration?: | AutoParticipantRecordingConfiguration | undefined; endpoints?: StageEndpoints | undefined; } export interface CreateStageResponse { stage?: Stage | undefined; participantTokens?: ParticipantToken[] | undefined; } export interface S3StorageConfiguration { bucketName: string | undefined; } export interface CreateStorageConfigurationRequest { name?: string | undefined; s3: S3StorageConfiguration | undefined; tags?: Record | undefined; } export interface StorageConfiguration { arn: string | undefined; name?: string | undefined; s3?: S3StorageConfiguration | undefined; tags?: Record | undefined; } export interface CreateStorageConfigurationResponse { storageConfiguration?: StorageConfiguration | undefined; } export interface DeleteEncoderConfigurationRequest { arn: string | undefined; } export interface DeleteEncoderConfigurationResponse {} export interface DeleteIngestConfigurationRequest { arn: string | undefined; force?: boolean | undefined; } export interface DeleteIngestConfigurationResponse {} export interface DeletePublicKeyRequest { arn: string | undefined; } export interface DeletePublicKeyResponse {} export interface DeleteStageRequest { arn: string | undefined; } export interface DeleteStageResponse {} export interface DeleteStorageConfigurationRequest { arn: string | undefined; } export interface DeleteStorageConfigurationResponse {} export interface DisconnectParticipantRequest { stageArn: string | undefined; participantId: string | undefined; reason?: string | undefined; } export interface DisconnectParticipantResponse {} export interface GetCompositionRequest { arn: string | undefined; } export interface ChannelDestinationConfiguration { channelArn: string | undefined; encoderConfigurationArn?: string | undefined; } export interface CompositionRecordingHlsConfiguration { targetSegmentDurationSeconds?: number | undefined; } export interface RecordingConfiguration { hlsConfiguration?: CompositionRecordingHlsConfiguration | undefined; format?: RecordingConfigurationFormat | undefined; } export interface CompositionThumbnailConfiguration { targetIntervalSeconds?: number | undefined; storage?: ThumbnailStorageType[] | undefined; } export interface S3DestinationConfiguration { storageConfigurationArn: string | undefined; encoderConfigurationArns: string[] | undefined; recordingConfiguration?: RecordingConfiguration | undefined; thumbnailConfigurations?: CompositionThumbnailConfiguration[] | undefined; } export interface DestinationConfiguration { name?: string | undefined; channel?: ChannelDestinationConfiguration | undefined; s3?: S3DestinationConfiguration | undefined; } export interface S3Detail { recordingPrefix: string | undefined; } export interface DestinationDetail { s3?: S3Detail | undefined; } export interface Destination { id: string | undefined; state: DestinationState | undefined; startTime?: Date | undefined; endTime?: Date | undefined; configuration: DestinationConfiguration | undefined; detail?: DestinationDetail | undefined; } export interface GridConfiguration { featuredParticipantAttribute?: string | undefined; omitStoppedVideo?: boolean | undefined; videoAspectRatio?: VideoAspectRatio | undefined; videoFillMode?: VideoFillMode | undefined; gridGap?: number | undefined; participantOrderAttribute?: string | undefined; } export interface PipConfiguration { featuredParticipantAttribute?: string | undefined; omitStoppedVideo?: boolean | undefined; videoFillMode?: VideoFillMode | undefined; gridGap?: number | undefined; pipParticipantAttribute?: string | undefined; pipBehavior?: PipBehavior | undefined; pipOffset?: number | undefined; pipPosition?: PipPosition | undefined; pipWidth?: number | undefined; pipHeight?: number | undefined; participantOrderAttribute?: string | undefined; } export interface LayoutConfiguration { grid?: GridConfiguration | undefined; pip?: PipConfiguration | undefined; } export interface Composition { arn: string | undefined; stageArn: string | undefined; state: CompositionState | undefined; layout: LayoutConfiguration | undefined; destinations: Destination[] | undefined; tags?: Record | undefined; startTime?: Date | undefined; endTime?: Date | undefined; } export interface GetCompositionResponse { composition?: Composition | undefined; } export interface GetEncoderConfigurationRequest { arn: string | undefined; } export interface GetEncoderConfigurationResponse { encoderConfiguration?: EncoderConfiguration | undefined; } export interface GetIngestConfigurationRequest { arn: string | undefined; } export interface GetIngestConfigurationResponse { ingestConfiguration?: IngestConfiguration | undefined; } export interface GetParticipantRequest { stageArn: string | undefined; sessionId: string | undefined; participantId: string | undefined; } export interface Participant { participantId?: string | undefined; userId?: string | undefined; state?: ParticipantState | undefined; firstJoinTime?: Date | undefined; attributes?: Record | undefined; published?: boolean | undefined; ispName?: string | undefined; osName?: string | undefined; osVersion?: string | undefined; browserName?: string | undefined; browserVersion?: string | undefined; sdkVersion?: string | undefined; recordingS3BucketName?: string | undefined; recordingS3Prefix?: string | undefined; recordingState?: ParticipantRecordingState | undefined; protocol?: ParticipantProtocol | undefined; replicationType?: ReplicationType | undefined; replicationState?: ReplicationState | undefined; sourceStageArn?: string | undefined; sourceSessionId?: string | undefined; redundantIngest?: boolean | undefined; ingestConfigurationArn?: string | undefined; } export interface GetParticipantResponse { participant?: Participant | undefined; } export interface GetPublicKeyRequest { arn: string | undefined; } export interface PublicKey { arn?: string | undefined; name?: string | undefined; publicKeyMaterial?: string | undefined; fingerprint?: string | undefined; tags?: Record | undefined; } export interface GetPublicKeyResponse { publicKey?: PublicKey | undefined; } export interface GetStageRequest { arn: string | undefined; } export interface GetStageResponse { stage?: Stage | undefined; } export interface GetStageSessionRequest { stageArn: string | undefined; sessionId: string | undefined; } export interface StageSession { sessionId?: string | undefined; startTime?: Date | undefined; endTime?: Date | undefined; } export interface GetStageSessionResponse { stageSession?: StageSession | undefined; } export interface GetStorageConfigurationRequest { arn: string | undefined; } export interface GetStorageConfigurationResponse { storageConfiguration?: StorageConfiguration | undefined; } export interface ImportPublicKeyRequest { publicKeyMaterial: string | undefined; name?: string | undefined; tags?: Record | undefined; } export interface ImportPublicKeyResponse { publicKey?: PublicKey | undefined; } export interface ListCompositionsRequest { filterByStageArn?: string | undefined; filterByEncoderConfigurationArn?: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface DestinationSummary { id: string | undefined; state: DestinationState | undefined; startTime?: Date | undefined; endTime?: Date | undefined; } export interface CompositionSummary { arn: string | undefined; stageArn: string | undefined; destinations: DestinationSummary[] | undefined; state: CompositionState | undefined; tags?: Record | undefined; startTime?: Date | undefined; endTime?: Date | undefined; } export interface ListCompositionsResponse { compositions: CompositionSummary[] | undefined; nextToken?: string | undefined; } export interface ListEncoderConfigurationsRequest { nextToken?: string | undefined; maxResults?: number | undefined; } export interface EncoderConfigurationSummary { arn: string | undefined; name?: string | undefined; tags?: Record | undefined; } export interface ListEncoderConfigurationsResponse { encoderConfigurations: EncoderConfigurationSummary[] | undefined; nextToken?: string | undefined; } export interface ListIngestConfigurationsRequest { filterByStageArn?: string | undefined; filterByState?: IngestConfigurationState | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface IngestConfigurationSummary { name?: string | undefined; arn: string | undefined; ingestProtocol: IngestProtocol | undefined; stageArn: string | undefined; participantId: string | undefined; state: IngestConfigurationState | undefined; userId?: string | undefined; redundantIngest?: boolean | undefined; } export interface ListIngestConfigurationsResponse { ingestConfigurations: IngestConfigurationSummary[] | undefined; nextToken?: string | undefined; } export interface ListParticipantEventsRequest { stageArn: string | undefined; sessionId: string | undefined; participantId: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface ExchangedParticipantToken { capabilities?: ParticipantTokenCapability[] | undefined; attributes?: Record | undefined; userId?: string | undefined; expirationTime?: Date | undefined; } export interface Event { name?: EventName | undefined; participantId?: string | undefined; eventTime?: Date | undefined; remoteParticipantId?: string | undefined; errorCode?: EventErrorCode | undefined; destinationStageArn?: string | undefined; destinationSessionId?: string | undefined; replica?: boolean | undefined; previousToken?: ExchangedParticipantToken | undefined; newToken?: ExchangedParticipantToken | undefined; } export interface ListParticipantEventsResponse { events: Event[] | undefined; nextToken?: string | undefined; } export interface ListParticipantReplicasRequest { sourceStageArn: string | undefined; participantId: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface ParticipantReplica { sourceStageArn: string | undefined; participantId: string | undefined; sourceSessionId: string | undefined; destinationStageArn: string | undefined; destinationSessionId: string | undefined; replicationState: ReplicationState | undefined; } export interface ListParticipantReplicasResponse { replicas: ParticipantReplica[] | undefined; nextToken?: string | undefined; } export interface ListParticipantsRequest { stageArn: string | undefined; sessionId: string | undefined; filterByUserId?: string | undefined; filterByPublished?: boolean | undefined; filterByState?: ParticipantState | undefined; nextToken?: string | undefined; maxResults?: number | undefined; filterByRecordingState?: | ParticipantRecordingFilterByRecordingState | undefined; } export interface ParticipantSummary { participantId?: string | undefined; userId?: string | undefined; state?: ParticipantState | undefined; firstJoinTime?: Date | undefined; published?: boolean | undefined; recordingState?: ParticipantRecordingState | undefined; replicationType?: ReplicationType | undefined; replicationState?: ReplicationState | undefined; sourceStageArn?: string | undefined; sourceSessionId?: string | undefined; redundantIngest?: boolean | undefined; ingestConfigurationArn?: string | undefined; } export interface ListParticipantsResponse { participants: ParticipantSummary[] | undefined; nextToken?: string | undefined; } export interface ListPublicKeysRequest { nextToken?: string | undefined; maxResults?: number | undefined; } export interface PublicKeySummary { arn?: string | undefined; name?: string | undefined; tags?: Record | undefined; } export interface ListPublicKeysResponse { publicKeys: PublicKeySummary[] | undefined; nextToken?: string | undefined; } export interface ListStagesRequest { nextToken?: string | undefined; maxResults?: number | undefined; } export interface StageSummary { arn: string | undefined; name?: string | undefined; activeSessionId?: string | undefined; tags?: Record | undefined; } export interface ListStagesResponse { stages: StageSummary[] | undefined; nextToken?: string | undefined; } export interface ListStageSessionsRequest { stageArn: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface StageSessionSummary { sessionId?: string | undefined; startTime?: Date | undefined; endTime?: Date | undefined; } export interface ListStageSessionsResponse { stageSessions: StageSessionSummary[] | undefined; nextToken?: string | undefined; } export interface ListStorageConfigurationsRequest { nextToken?: string | undefined; maxResults?: number | undefined; } export interface StorageConfigurationSummary { arn: string | undefined; name?: string | undefined; s3?: S3StorageConfiguration | undefined; tags?: Record | undefined; } export interface ListStorageConfigurationsResponse { storageConfigurations: StorageConfigurationSummary[] | undefined; nextToken?: string | undefined; } export interface ListTagsForResourceRequest { resourceArn: string | undefined; } export interface ListTagsForResourceResponse { tags: Record | undefined; } export interface StartCompositionRequest { stageArn: string | undefined; idempotencyToken?: string | undefined; layout?: LayoutConfiguration | undefined; destinations: DestinationConfiguration[] | undefined; tags?: Record | undefined; } export interface StartCompositionResponse { composition?: Composition | undefined; } export interface StartParticipantReplicationRequest { sourceStageArn: string | undefined; destinationStageArn: string | undefined; participantId: string | undefined; reconnectWindowSeconds?: number | undefined; attributes?: Record | undefined; } export interface StartParticipantReplicationResponse { accessControlAllowOrigin?: string | undefined; accessControlExposeHeaders?: string | undefined; cacheControl?: string | undefined; contentSecurityPolicy?: string | undefined; strictTransportSecurity?: string | undefined; xContentTypeOptions?: string | undefined; xFrameOptions?: string | undefined; } export interface StopCompositionRequest { arn: string | undefined; } export interface StopCompositionResponse {} export interface StopParticipantReplicationRequest { sourceStageArn: string | undefined; destinationStageArn: string | undefined; participantId: string | undefined; } export interface StopParticipantReplicationResponse { accessControlAllowOrigin?: string | undefined; accessControlExposeHeaders?: string | undefined; cacheControl?: string | undefined; contentSecurityPolicy?: string | undefined; strictTransportSecurity?: string | undefined; xContentTypeOptions?: string | undefined; xFrameOptions?: string | undefined; } export interface TagResourceRequest { resourceArn: string | undefined; tags: Record | undefined; } export interface TagResourceResponse {} export interface UntagResourceRequest { resourceArn: string | undefined; tagKeys: string[] | undefined; } export interface UntagResourceResponse {} export interface UpdateIngestConfigurationRequest { arn: string | undefined; stageArn?: string | undefined; redundantIngest?: boolean | undefined; } export interface UpdateIngestConfigurationResponse { ingestConfiguration?: IngestConfiguration | undefined; } export interface UpdateStageRequest { arn: string | undefined; name?: string | undefined; autoParticipantRecordingConfiguration?: | AutoParticipantRecordingConfiguration | undefined; } export interface UpdateStageResponse { stage?: Stage | undefined; }