import { StreamingBlobTypes } from "@smithy/types"; import { ClipFragmentSelectorType, ContainerFormat, DASHDisplayFragmentNumber, DASHDisplayFragmentTimestamp, DASHFragmentSelectorType, DASHPlaybackMode, Format, FormatConfigKey, FragmentSelectorType, HLSDiscontinuityMode, HLSDisplayFragmentTimestamp, HLSFragmentSelectorType, HLSPlaybackMode, ImageError, ImageSelectorType, } from "./enums"; export interface ClipTimestampRange { StartTimestamp: Date | undefined; EndTimestamp: Date | undefined; } export interface ClipFragmentSelector { FragmentSelectorType: ClipFragmentSelectorType | undefined; TimestampRange: ClipTimestampRange | undefined; } export interface GetClipInput { StreamName?: string | undefined; StreamARN?: string | undefined; ClipFragmentSelector: ClipFragmentSelector | undefined; } export interface GetClipOutput { ContentType?: string | undefined; Payload?: StreamingBlobTypes | undefined; } export interface DASHTimestampRange { StartTimestamp?: Date | undefined; EndTimestamp?: Date | undefined; } export interface DASHFragmentSelector { FragmentSelectorType?: DASHFragmentSelectorType | undefined; TimestampRange?: DASHTimestampRange | undefined; } export interface GetDASHStreamingSessionURLInput { StreamName?: string | undefined; StreamARN?: string | undefined; PlaybackMode?: DASHPlaybackMode | undefined; DisplayFragmentTimestamp?: DASHDisplayFragmentTimestamp | undefined; DisplayFragmentNumber?: DASHDisplayFragmentNumber | undefined; DASHFragmentSelector?: DASHFragmentSelector | undefined; Expires?: number | undefined; MaxManifestFragmentResults?: number | undefined; } export interface GetDASHStreamingSessionURLOutput { DASHStreamingSessionURL?: string | undefined; } export interface HLSTimestampRange { StartTimestamp?: Date | undefined; EndTimestamp?: Date | undefined; } export interface HLSFragmentSelector { FragmentSelectorType?: HLSFragmentSelectorType | undefined; TimestampRange?: HLSTimestampRange | undefined; } export interface GetHLSStreamingSessionURLInput { StreamName?: string | undefined; StreamARN?: string | undefined; PlaybackMode?: HLSPlaybackMode | undefined; HLSFragmentSelector?: HLSFragmentSelector | undefined; ContainerFormat?: ContainerFormat | undefined; DiscontinuityMode?: HLSDiscontinuityMode | undefined; DisplayFragmentTimestamp?: HLSDisplayFragmentTimestamp | undefined; Expires?: number | undefined; MaxMediaPlaylistFragmentResults?: number | undefined; } export interface GetHLSStreamingSessionURLOutput { HLSStreamingSessionURL?: string | undefined; } export interface GetImagesInput { StreamName?: string | undefined; StreamARN?: string | undefined; ImageSelectorType: ImageSelectorType | undefined; StartTimestamp: Date | undefined; EndTimestamp: Date | undefined; SamplingInterval?: number | undefined; Format: Format | undefined; FormatConfig?: Partial> | undefined; WidthPixels?: number | undefined; HeightPixels?: number | undefined; MaxResults?: number | undefined; NextToken?: string | undefined; } export interface Image { TimeStamp?: Date | undefined; Error?: ImageError | undefined; ImageContent?: string | undefined; } export interface GetImagesOutput { Images?: Image[] | undefined; NextToken?: string | undefined; } export interface GetMediaForFragmentListInput { StreamName?: string | undefined; StreamARN?: string | undefined; Fragments: string[] | undefined; } export interface GetMediaForFragmentListOutput { ContentType?: string | undefined; Payload?: StreamingBlobTypes | undefined; } export interface TimestampRange { StartTimestamp: Date | undefined; EndTimestamp: Date | undefined; } export interface FragmentSelector { FragmentSelectorType: FragmentSelectorType | undefined; TimestampRange: TimestampRange | undefined; } export interface ListFragmentsInput { StreamName?: string | undefined; StreamARN?: string | undefined; MaxResults?: number | undefined; NextToken?: string | undefined; FragmentSelector?: FragmentSelector | undefined; } export interface Fragment { FragmentNumber?: string | undefined; FragmentSizeInBytes?: number | undefined; ProducerTimestamp?: Date | undefined; ServerTimestamp?: Date | undefined; FragmentLengthInMilliseconds?: number | undefined; } export interface ListFragmentsOutput { Fragments?: Fragment[] | undefined; NextToken?: string | undefined; }