export interface ClipTimestampRange {
    /** The starting timestamp in the range of timestamps for which to return fragments. Only fragments that start exactly at or after StartTimestamp are included in the session. Fragments that start before S */
    StartTimestamp: string;
    /** The end of the timestamp range for the requested media. This value must be within 24 hours of the specified StartTimestamp, and it must be later than the StartTimestamp value. If FragmentSelectorType  */
    EndTimestamp: string;
}
export interface ClipFragmentSelector {
    /** The origin of the timestamps to use (Server or Producer). */
    FragmentSelectorType: 'PRODUCER_TIMESTAMP' | 'SERVER_TIMESTAMP';
    /** The range of timestamps to return. */
    TimestampRange: ClipTimestampRange;
}
export interface DASHTimestampRange {
    /** The start of the timestamp range for the requested media. If the DASHTimestampRange value is specified, the StartTimestamp value is required. Only fragments that start exactly at or after StartTimesta */
    StartTimestamp?: string;
    /** The end of the timestamp range for the requested media. This value must be within 24 hours of the specified StartTimestamp, and it must be later than the StartTimestamp value. If FragmentSelectorType  */
    EndTimestamp?: string;
}
export interface DASHFragmentSelector {
    /** The source of the timestamps for the requested media. When FragmentSelectorType is set to PRODUCER_TIMESTAMP and GetDASHStreamingSessionURLInput$PlaybackMode is ON_DEMAND or LIVE_REPLAY, the first fra */
    FragmentSelectorType?: 'PRODUCER_TIMESTAMP' | 'SERVER_TIMESTAMP';
    /** The start and end of the timestamp range for the requested media. This value should not be present if PlaybackType is LIVE. */
    TimestampRange?: DASHTimestampRange;
}
export interface HLSTimestampRange {
    /** The start of the timestamp range for the requested media. If the HLSTimestampRange value is specified, the StartTimestamp value is required. Only fragments that start exactly at or after StartTimestam */
    StartTimestamp?: string;
    /** The end of the timestamp range for the requested media. This value must be within 24 hours of the specified StartTimestamp, and it must be later than the StartTimestamp value. If FragmentSelectorType  */
    EndTimestamp?: string;
}
export interface HLSFragmentSelector {
    /** The source of the timestamps for the requested media. When FragmentSelectorType is set to PRODUCER_TIMESTAMP and GetHLSStreamingSessionURLInput$PlaybackMode is ON_DEMAND or LIVE_REPLAY, the first frag */
    FragmentSelectorType?: 'PRODUCER_TIMESTAMP' | 'SERVER_TIMESTAMP';
    /** The start and end of the timestamp range for the requested media. This value should not be present if PlaybackType is LIVE. */
    TimestampRange?: HLSTimestampRange;
}
export interface TimestampRange {
    /** The starting timestamp in the range of timestamps for which to return fragments. */
    StartTimestamp: string;
    /** The ending timestamp in the range of timestamps for which to return fragments. */
    EndTimestamp: string;
}
export interface FragmentSelector {
    /** The origin of the timestamps to use (Server or Producer). */
    FragmentSelectorType: 'PRODUCER_TIMESTAMP' | 'SERVER_TIMESTAMP';
    /** The range of timestamps to return. */
    TimestampRange: TimestampRange;
}
export interface GetClipInput {
    /** The time range of the requested clip and the source of the timestamps. */
    ClipFragmentSelector: ClipFragmentSelector;
    /** The Amazon Resource Name (ARN) of the stream for which to retrieve the media clip. You must specify either the StreamName or the StreamARN. */
    StreamARN?: string;
    /** The name of the stream for which to retrieve the media clip. You must specify either the StreamName or the StreamARN. */
    StreamName?: string;
}
export interface GetDASHStreamingSessionURLInput {
    /** The time range of the requested fragment and the source of the timestamps. This parameter is required if PlaybackMode is ON_DEMAND or LIVE_REPLAY. This parameter is optional if PlaybackMode is LIVE. I */
    DASHFragmentSelector?: DASHFragmentSelector;
    /** Fragments are identified in the manifest file based on their sequence number in the session. If DisplayFragmentNumber is set to ALWAYS, the Kinesis Video Streams fragment number is added to each S ele */
    DisplayFragmentNumber?: 'ALWAYS' | 'NEVER';
    /** Per the MPEG-DASH specification, the wall-clock time of fragments in the manifest file can be derived using attributes in the manifest itself. However, typically, MPEG-DASH compatible media players do */
    DisplayFragmentTimestamp?: 'ALWAYS' | 'NEVER';
    /** The time in seconds until the requested session expires. This value can be between 300 (5 minutes) and 43200 (12 hours). When a session expires, no new calls to GetDashManifest, GetMP4InitFragment, or */
    Expires?: number;
    /** The maximum number of fragments that are returned in the MPEG-DASH manifest. When the PlaybackMode is LIVE, the most recent fragments are returned up to this value. When the PlaybackMode is ON_DEMAND, */
    MaxManifestFragmentResults?: number;
    /** Whether to retrieve live, live replay, or archived, on-demand data. Features of the three types of sessions include the following: LIVE : For sessions of this type, the MPEG-DASH manifest is continual */
    PlaybackMode?: 'LIVE' | 'LIVE_REPLAY' | 'ON_DEMAND';
    /** The Amazon Resource Name (ARN) of the stream for which to retrieve the MPEG-DASH manifest URL. You must specify either the StreamName or the StreamARN. */
    StreamARN?: string;
    /** The name of the stream for which to retrieve the MPEG-DASH manifest URL. You must specify either the StreamName or the StreamARN. */
    StreamName?: string;
}
export interface GetHLSStreamingSessionURLInput {
    /** Specifies which format should be used for packaging the media. Specifying the FRAGMENTED_MP4 container format packages the media into MP4 fragments (fMP4 or CMAF). This is the recommended packaging be */
    ContainerFormat?: 'FRAGMENTED_MP4' | 'MPEG_TS';
    /** Specifies when flags marking discontinuities between fragments are added to the media playlists. Media players typically build a timeline of media content to play, based on the timestamps of each frag */
    DiscontinuityMode?: 'ALWAYS' | 'NEVER' | 'ON_DISCONTINUITY';
    /** Specifies when the fragment start timestamps should be included in the HLS media playlist. Typically, media players report the playhead position as a time relative to the start of the first fragment i */
    DisplayFragmentTimestamp?: 'ALWAYS' | 'NEVER';
    /** The time in seconds until the requested session expires. This value can be between 300 (5 minutes) and 43200 (12 hours). When a session expires, no new calls to GetHLSMasterPlaylist, GetHLSMediaPlayli */
    Expires?: number;
    /** The time range of the requested fragment and the source of the timestamps. This parameter is required if PlaybackMode is ON_DEMAND or LIVE_REPLAY. This parameter is optional if PlaybackMode is LIVE. I */
    HLSFragmentSelector?: HLSFragmentSelector;
    /** The maximum number of fragments that are returned in the HLS media playlists. When the PlaybackMode is LIVE, the most recent fragments are returned up to this value. When the PlaybackMode is ON_DEMAND */
    MaxMediaPlaylistFragmentResults?: number;
    /** Whether to retrieve live, live replay, or archived, on-demand data. Features of the three types of sessions include the following: LIVE : For sessions of this type, the HLS media playlist is continual */
    PlaybackMode?: 'LIVE' | 'LIVE_REPLAY' | 'ON_DEMAND';
    /** The Amazon Resource Name (ARN) of the stream for which to retrieve the HLS master playlist URL. You must specify either the StreamName or the StreamARN. */
    StreamARN?: string;
    /** The name of the stream for which to retrieve the HLS master playlist URL. You must specify either the StreamName or the StreamARN. */
    StreamName?: string;
}
export interface GetImagesInput {
    /** The end timestamp for the range of images to be generated. If the time range between StartTimestamp and EndTimestamp is more than 300 seconds above StartTimestamp, you will receive an IllegalArgumentE */
    EndTimestamp: string;
    /** The format that will be used to encode the image. */
    Format: 'JPEG' | 'PNG';
    /** The origin of the Server or Producer timestamps to use to generate the images. */
    ImageSelectorType: 'PRODUCER_TIMESTAMP' | 'SERVER_TIMESTAMP';
    /** The starting point from which the images should be generated. This StartTimestamp must be within an inclusive range of timestamps for an image to be returned. */
    StartTimestamp: string;
    /** The list of a key-value pair structure that contains extra parameters that can be applied when the image is generated. The FormatConfig key is the JPEGQuality, which indicates the JPEG quality key to  */
    FormatConfig?: Record<string, string>;
    /** The height of the output image that is used in conjunction with the WidthPixels parameter. When both HeightPixels and WidthPixels parameters are provided, the image will be stretched to fit the specif */
    HeightPixels?: number;
    /** The maximum number of images to be returned by the API. The default limit is 25 images per API response. Providing a MaxResults greater than this value will result in a page size of 25. Any additional */
    MaxResults?: number;
    /** A token that specifies where to start paginating the next set of Images. This is the GetImages:NextToken from a previously truncated response. */
    NextToken?: string;
    /** The time interval in milliseconds (ms) at which the images need to be generated from the stream. The minimum value that can be provided is 200 ms (5 images per second). If the timestamp range is less  */
    SamplingInterval?: number;
    /** The Amazon Resource Name (ARN) of the stream from which to retrieve the images. You must specify either the StreamName or the StreamARN. */
    StreamARN?: string;
    /** The name of the stream from which to retrieve the images. You must specify either the StreamName or the StreamARN. */
    StreamName?: string;
    /** The width of the output image that is used in conjunction with the HeightPixels parameter. When both WidthPixels and HeightPixels parameters are provided, the image will be stretched to fit the specif */
    WidthPixels?: number;
}
export interface GetMediaForFragmentListInput {
    /** A list of the numbers of fragments for which to retrieve media. You retrieve these values with ListFragments. */
    Fragments: string[];
    /** The Amazon Resource Name (ARN) of the stream from which to retrieve fragment media. Specify either this parameter or the StreamName parameter. */
    StreamARN?: string;
    /** The name of the stream from which to retrieve fragment media. Specify either this parameter or the StreamARN parameter. */
    StreamName?: string;
}
export interface ListFragmentsInput {
    /** Describes the timestamp range and timestamp origin for the range of fragments to return. This is only required when the NextToken isn't passed in the API. */
    FragmentSelector?: FragmentSelector;
    /** The total number of fragments to return. If the total number of fragments available is more than the value specified in max-results, then a ListFragmentsOutput$NextToken is provided in the output that */
    MaxResults?: number;
    /** A token to specify where to start paginating. This is the ListFragmentsOutput$NextToken from a previously truncated response. */
    NextToken?: string;
    /** The Amazon Resource Name (ARN) of the stream from which to retrieve a fragment list. Specify either this parameter or the StreamName parameter. */
    StreamARN?: string;
    /** The name of the stream from which to retrieve a fragment list. Specify either this parameter or the StreamARN parameter. */
    StreamName?: string;
}
/** Kinesis Video Archived Media service binding for Step Functions SDK integrations. */
export declare class KinesisVideoArchivedMedia {
    constructor();
    getClip<T>(params: GetClipInput): Promise<T>;
    getDASHStreamingSessionURL<T>(params: GetDASHStreamingSessionURLInput): Promise<T>;
    getHLSStreamingSessionURL<T>(params: GetHLSStreamingSessionURLInput): Promise<T>;
    getImages<T>(params: GetImagesInput): Promise<T>;
    getMediaForFragmentList<T>(params: GetMediaForFragmentListInput): Promise<T>;
    listFragments<T>(params: ListFragmentsInput): Promise<T>;
}
//# sourceMappingURL=KinesisVideoArchivedMedia.d.ts.map