export interface HarvestedManifests {
    /** A list of harvested HLS manifests. */
    HlsManifests?: any[];
    /** A list of harvested DASH manifests. */
    DashManifests?: any[];
    /** A list of harvested Low-Latency HLS manifests. */
    LowLatencyHlsManifests?: any[];
}
export interface HarvesterScheduleConfiguration {
    /** The start time for the harvest job. */
    StartTime: string;
    /** The end time for the harvest job. */
    EndTime: string;
}
export interface S3DestinationConfig {
    /** The name of an S3 bucket within which harvested content will be exported. */
    BucketName: string;
    /** The path within the specified S3 bucket where the harvested content will be placed. */
    DestinationPath: string;
}
export interface Destination {
    /** The configuration for exporting harvested content to an S3 bucket. This includes details such as the bucket name and destination path within the bucket. */
    S3Destination: S3DestinationConfig;
}
export interface InputSwitchConfiguration {
    /** When true, AWS Elemental MediaPackage performs input switching based on the MQCS. Default is false. This setting is valid only when InputType is CMAF. */
    MQCSInputSwitching?: boolean;
    /** For CMAF inputs, indicates which input MediaPackage should prefer when both inputs have equal MQCS scores. Select 1 to prefer the first ingest endpoint, or 2 to prefer the second ingest endpoint. If y */
    PreferredInput?: number;
}
export interface OutputHeaderConfiguration {
    /** When true, AWS Elemental MediaPackage includes the MQCS in responses to the CDN. This setting is valid only when InputType is CMAF. */
    PublishMQCS?: boolean;
}
export interface Scte {
    /** The SCTE-35 message types that you want to be treated as ad markers in the output. */
    ScteFilter?: any[];
    /** Controls whether SCTE-35 messages are included in segment files. None – SCTE-35 messages are not included in segments (default) All – SCTE-35 messages are embedded in segment data For DASH manifests,  */
    ScteInSegments?: 'NONE' | 'ALL';
}
export interface Encryption {
    /** A 128-bit, 16-byte hex value represented by a 32-character string, used in conjunction with the key for encrypting content. If you don't specify a value, then MediaPackage creates the constant initial */
    ConstantInitializationVector?: string;
    /** The encryption method to use. */
    EncryptionMethod: any;
    /** The frequency (in seconds) of key changes for live workflows, in which content is streamed real time. The service retrieves content keys before the live content begins streaming, and then retrieves th */
    KeyRotationIntervalSeconds?: number;
    /** Excludes SEIG and SGPD boxes from segment metadata in CMAF containers. When set to true, MediaPackage omits these DRM metadata boxes from CMAF segments, which can improve compatibility with certain de */
    CmafExcludeSegmentDrmMetadata?: boolean;
    /** The parameters for the SPEKE key provider. */
    SpekeKeyProvider: any;
}
export interface Segment {
    /** The duration (in seconds) of each segment. Enter a value equal to, or a multiple of, the input segment duration. If the value that you enter is different from the input segment duration, MediaPackage  */
    SegmentDurationSeconds?: number;
    /** The name that describes the segment. The name is the base name of the segment used in all content manifests inside of the endpoint. You can't use spaces in the name. */
    SegmentName?: string;
    /** When selected, MediaPackage bundles all audio tracks in a rendition group. All other tracks in the stream can be used with any audio rendition from the group. */
    TsUseAudioRenditionGroup?: boolean;
    /** When selected, the stream set includes an additional I-frame only stream, along with the other tracks. If false, this extra stream is not included. MediaPackage generates an I-frame only stream from t */
    IncludeIframeOnlyStreams?: boolean;
    /** By default, MediaPackage excludes all digital video broadcasting (DVB) subtitles from the output. When selected, MediaPackage passes through DVB subtitles into the output. */
    TsIncludeDvbSubtitles?: boolean;
    /** The SCTE configuration options in the segment settings. */
    Scte?: Scte;
    Encryption?: Encryption;
}
export interface CreateHlsManifestConfiguration {
    /** A short short string that's appended to the endpoint URL. The manifest name creates a unique path to this endpoint. If you don't enter a value, MediaPackage uses the default manifest name, index. Medi */
    ManifestName: string;
    /** A short string that's appended to the endpoint URL. The child manifest name creates a unique path to this endpoint. If you don't enter a value, MediaPackage uses the default manifest name, index, with */
    ChildManifestName?: string;
    ScteHls?: any;
    StartTag?: any;
    /** The total duration (in seconds) of the manifest's content. */
    ManifestWindowSeconds?: number;
    /** Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval that you specify. If you don't enter an interval, EXT-X-PROGRAM-DATE-TIME tags aren't included in the manifest. The tags syn */
    ProgramDateTimeIntervalSeconds?: number;
    FilterConfiguration?: any;
    /** When enabled, MediaPackage URL-encodes the query string for API requests for HLS child manifests to comply with Amazon Web Services Signature Version 4 (SigV4) signature signing protocol. For more inf */
    UrlEncodeChildManifest?: boolean;
}
export interface CreateLowLatencyHlsManifestConfiguration {
    /** A short short string that's appended to the endpoint URL. The manifest name creates a unique path to this endpoint. If you don't enter a value, MediaPackage uses the default manifest name, index. Medi */
    ManifestName: string;
    /** A short string that's appended to the endpoint URL. The child manifest name creates a unique path to this endpoint. If you don't enter a value, MediaPackage uses the default manifest name, index, with */
    ChildManifestName?: string;
    ScteHls?: any;
    StartTag?: any;
    /** The total duration (in seconds) of the manifest's content. */
    ManifestWindowSeconds?: number;
    /** Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval that you specify. If you don't enter an interval, EXT-X-PROGRAM-DATE-TIME tags aren't included in the manifest. The tags syn */
    ProgramDateTimeIntervalSeconds?: number;
    FilterConfiguration?: any;
    /** When enabled, MediaPackage URL-encodes the query string for API requests for LL-HLS child manifests to comply with Amazon Web Services Signature Version 4 (SigV4) signature signing protocol. For more  */
    UrlEncodeChildManifest?: boolean;
}
export interface CreateDashManifestConfiguration {
    /** A short string that's appended to the endpoint URL. The child manifest name creates a unique path to this endpoint. */
    ManifestName: string;
    /** The total duration (in seconds) of the manifest's content. */
    ManifestWindowSeconds?: number;
    FilterConfiguration?: any;
    /** Minimum amount of time (in seconds) that the player should wait before requesting updates to the manifest. */
    MinUpdatePeriodSeconds?: number;
    /** Minimum amount of content (in seconds) that a player must keep available in the buffer. */
    MinBufferTimeSeconds?: number;
    /** The amount of time (in seconds) that the player should be from the end of the manifest. */
    SuggestedPresentationDelaySeconds?: number;
    /** Determines the type of variable used in the media URL of the SegmentTemplate tag in the manifest. Also specifies if segment timeline information is included in SegmentTimeline or SegmentTemplate. Valu */
    SegmentTemplateFormat?: 'NUMBER_WITH_TIMELINE';
    /** A list of triggers that controls when AWS Elemental MediaPackage separates the MPEG-DASH manifest into multiple periods. Type ADS to indicate that AWS Elemental MediaPackage must create periods in the */
    PeriodTriggers?: any[];
    /** The SCTE configuration. */
    ScteDash?: any;
    /** Determines how the DASH manifest signals the DRM content. */
    DrmSignaling?: 'INDIVIDUAL' | 'REFERENCED';
    /** Determines the type of UTC timing included in the DASH Media Presentation Description (MPD). */
    UtcTiming?: any;
    /** The profile that the output is compliant with. */
    Profiles?: any[];
    /** The base URLs to use for retrieving segments. */
    BaseUrls?: any[];
    /** Details about the content that you want MediaPackage to pass through in the manifest to the playback device. */
    ProgramInformation?: any;
    /** For endpoints that use the DVB-DASH profile only. The font download and error reporting information that you want MediaPackage to pass through to the manifest. */
    DvbSettings?: any;
    /** The layout of the DASH manifest that MediaPackage produces. STANDARD indicates a default manifest, which is compacted. NONE indicates a full manifest. For information about compactness, see DASH manif */
    Compactness?: 'STANDARD' | 'NONE';
    /** The configuration for DASH subtitles. */
    SubtitleConfiguration?: any;
}
export interface CreateMssManifestConfiguration {
    /** A short string that's appended to the endpoint URL to create a unique path to this MSS manifest. The manifest name must be unique within the origin endpoint and can contain letters, numbers, hyphens,  */
    ManifestName: string;
    /** The total duration (in seconds) of the manifest window. This determines how much content is available in the manifest at any given time. The manifest window slides forward as new segments become avail */
    ManifestWindowSeconds?: number;
    FilterConfiguration?: any;
    /** Determines the layout format of the MSS manifest. This controls how the manifest is structured and presented to client players, affecting compatibility with different MSS-compatible devices and applic */
    ManifestLayout?: 'FULL' | 'COMPACT';
}
export interface ForceEndpointErrorConfiguration {
    /** The failover conditions for the endpoint. The options are: STALE_MANIFEST - The manifest stalled and there are no new segments or parts. INCOMPLETE_MANIFEST - There is a gap in the manifest. MISSING_D */
    EndpointErrorConditions?: 'STALE_MANIFEST' | 'INCOMPLETE_MANIFEST' | 'MISSING_DRM_KEY' | 'SLATE_INPUT'[];
}
export interface CancelHarvestJobInput {
    /** The name of the channel group containing the channel from which the harvest job is running. */
    ChannelGroupName: string;
    /** The name of the channel from which the harvest job is running. */
    ChannelName: string;
    /** The name of the harvest job to cancel. This name must be unique within the channel and cannot be changed after the harvest job is submitted. */
    HarvestJobName: string;
    /** The name of the origin endpoint that the harvest job is harvesting from. This cannot be changed after the harvest job is submitted. */
    OriginEndpointName: string;
    /** The current Entity Tag (ETag) associated with the harvest job. Used for concurrency control. */
    ETag?: string;
}
/** The request object for creating a new harvest job. */
export interface CreateHarvestJobInput {
    /** The name of the channel group containing the channel from which to harvest content. */
    ChannelGroupName: string;
    /** The name of the channel from which to harvest content. */
    ChannelName: string;
    /** The S3 destination where the harvested content will be placed. */
    Destination: Destination;
    /** A list of manifests to be harvested. */
    HarvestedManifests: HarvestedManifests;
    /** The name of the origin endpoint from which to harvest content. */
    OriginEndpointName: string;
    /** The configuration for when the harvest job should run, including start and end times. */
    ScheduleConfiguration: HarvesterScheduleConfiguration;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */
    ClientToken?: string;
    /** An optional description for the harvest job. */
    Description?: string;
    /** A name for the harvest job. This name must be unique within the channel. */
    HarvestJobName?: string;
    /** A collection of tags associated with the harvest job. */
    Tags?: Record<string, string>;
}
export interface DeleteChannelInput {
    /** The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region. */
    ChannelGroupName: string;
    /** The name that describes the channel. The name is the primary identifier for the channel, and must be unique for your account in the AWS Region and channel group. */
    ChannelName: string;
}
export interface DeleteChannelGroupInput {
    /** The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region. */
    ChannelGroupName: string;
}
export interface DeleteChannelPolicyInput {
    /** The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region. */
    ChannelGroupName: string;
    /** The name that describes the channel. The name is the primary identifier for the channel, and must be unique for your account in the AWS Region and channel group. */
    ChannelName: string;
}
export interface DeleteOriginEndpointInput {
    /** The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region. */
    ChannelGroupName: string;
    /** The name that describes the channel. The name is the primary identifier for the channel, and must be unique for your account in the AWS Region and channel group. */
    ChannelName: string;
    /** The name that describes the origin endpoint. The name is the primary identifier for the origin endpoint, and and must be unique for your account in the AWS Region and channel. */
    OriginEndpointName: string;
}
export interface DeleteOriginEndpointPolicyInput {
    /** The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region. */
    ChannelGroupName: string;
    /** The name that describes the channel. The name is the primary identifier for the channel, and must be unique for your account in the AWS Region and channel group. */
    ChannelName: string;
    /** The name that describes the origin endpoint. The name is the primary identifier for the origin endpoint, and and must be unique for your account in the AWS Region and channel. */
    OriginEndpointName: string;
}
export interface GetChannelInput {
    /** The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region. */
    ChannelGroupName: string;
    /** The name that describes the channel. The name is the primary identifier for the channel, and must be unique for your account in the AWS Region and channel group. */
    ChannelName: string;
}
export interface GetChannelGroupInput {
    /** The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region. */
    ChannelGroupName: string;
}
export interface GetChannelPolicyInput {
    /** The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region. */
    ChannelGroupName: string;
    /** The name that describes the channel. The name is the primary identifier for the channel, and must be unique for your account in the AWS Region and channel group. */
    ChannelName: string;
}
/** The request object for retrieving a specific harvest job. */
export interface GetHarvestJobInput {
    /** The name of the channel group containing the channel associated with the harvest job. */
    ChannelGroupName: string;
    /** The name of the channel associated with the harvest job. */
    ChannelName: string;
    /** The name of the harvest job to retrieve. */
    HarvestJobName: string;
    /** The name of the origin endpoint associated with the harvest job. */
    OriginEndpointName: string;
}
export interface GetOriginEndpointInput {
    /** The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region. */
    ChannelGroupName: string;
    /** The name that describes the channel. The name is the primary identifier for the channel, and must be unique for your account in the AWS Region and channel group. */
    ChannelName: string;
    /** The name that describes the origin endpoint. The name is the primary identifier for the origin endpoint, and and must be unique for your account in the AWS Region and channel. */
    OriginEndpointName: string;
}
export interface GetOriginEndpointPolicyInput {
    /** The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region. */
    ChannelGroupName: string;
    /** The name that describes the channel. The name is the primary identifier for the channel, and must be unique for your account in the AWS Region and channel group. */
    ChannelName: string;
    /** The name that describes the origin endpoint. The name is the primary identifier for the origin endpoint, and and must be unique for your account in the AWS Region and channel. */
    OriginEndpointName: string;
}
export interface ListChannelGroupsInput {
    /** The maximum number of results to return in the response. */
    MaxResults?: number;
    /** The pagination token from the GET list request. Use the token to fetch the next page of results. */
    NextToken?: string;
}
export interface ListChannelsInput {
    /** The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region. */
    ChannelGroupName: string;
    /** The maximum number of results to return in the response. */
    MaxResults?: number;
    /** The pagination token from the GET list request. Use the token to fetch the next page of results. */
    NextToken?: string;
}
/** The request object for listing harvest jobs. */
export interface ListHarvestJobsInput {
    /** The name of the channel group to filter the harvest jobs by. If specified, only harvest jobs associated with channels in this group will be returned. */
    ChannelGroupName: string;
    /** The name of the channel to filter the harvest jobs by. If specified, only harvest jobs associated with this channel will be returned. */
    ChannelName?: string;
    /** The maximum number of harvest jobs to return in a single request. If not specified, a default value will be used. */
    MaxResults?: number;
    /** A token used for pagination. Provide this value in subsequent requests to retrieve the next set of results. */
    NextToken?: string;
    /** The name of the origin endpoint to filter the harvest jobs by. If specified, only harvest jobs associated with this origin endpoint will be returned. */
    OriginEndpointName?: string;
    /** The status to filter the harvest jobs by. If specified, only harvest jobs with this status will be returned. */
    Status?: 'QUEUED' | 'IN_PROGRESS' | 'CANCELLED' | 'COMPLETED' | 'FAILED';
}
export interface ListOriginEndpointsInput {
    /** The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region. */
    ChannelGroupName: string;
    /** The name that describes the channel. The name is the primary identifier for the channel, and must be unique for your account in the AWS Region and channel group. */
    ChannelName: string;
    /** The maximum number of results to return in the response. */
    MaxResults?: number;
    /** The pagination token from the GET list request. Use the token to fetch the next page of results. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The ARN of the CloudWatch resource that you want to view tags for. */
    ResourceArn: string;
}
export interface ResetChannelStateInput {
    /** The name of the channel group that contains the channel that you are resetting. */
    ChannelGroupName: string;
    /** The name of the channel that you are resetting. */
    ChannelName: string;
}
export interface ResetOriginEndpointStateInput {
    /** The name of the channel group that contains the channel with the origin endpoint that you are resetting. */
    ChannelGroupName: string;
    /** The name of the channel with the origin endpoint that you are resetting. */
    ChannelName: string;
    /** The name of the origin endpoint that you are resetting. */
    OriginEndpointName: string;
}
export interface TagResourceInput {
    /** The ARN of the MediaPackage resource that you're adding tags to. */
    ResourceArn: string;
    /** Contains a map of the key-value pairs for the resource tag or tags assigned to the resource. */
    Tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The ARN of the MediaPackage resource that you're removing tags from. */
    ResourceArn: string;
    /** The list of tag keys to remove from the resource. */
    TagKeys: string[];
}
export interface UpdateChannelInput {
    /** The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region. */
    ChannelGroupName: string;
    /** The name that describes the channel. The name is the primary identifier for the channel, and must be unique for your account in the AWS Region and channel group. */
    ChannelName: string;
    /** Any descriptive information that you want to add to the channel for future identification purposes. */
    Description?: string;
    /** The expected current Entity Tag (ETag) for the resource. If the specified ETag does not match the resource's current entity tag, the update request will be rejected. */
    ETag?: string;
    /** The configuration for input switching based on the media quality confidence score (MQCS) as provided from AWS Elemental MediaLive. This setting is valid only when InputType is CMAF. */
    InputSwitchConfiguration?: InputSwitchConfiguration;
    /** The settings for what common media server data (CMSD) headers AWS Elemental MediaPackage includes in responses to the CDN. This setting is valid only when InputType is CMAF. */
    OutputHeaderConfiguration?: OutputHeaderConfiguration;
}
export interface UpdateChannelGroupInput {
    /** The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region. */
    ChannelGroupName: string;
    /** Any descriptive information that you want to add to the channel group for future identification purposes. */
    Description?: string;
    /** The expected current Entity Tag (ETag) for the resource. If the specified ETag does not match the resource's current entity tag, the update request will be rejected. */
    ETag?: string;
}
export interface UpdateOriginEndpointInput {
    /** The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region. */
    ChannelGroupName: string;
    /** The name that describes the channel. The name is the primary identifier for the channel, and must be unique for your account in the AWS Region and channel group. */
    ChannelName: string;
    /** The type of container attached to this origin endpoint. A container type is a file format that encapsulates one or more media streams, such as audio and video, into a single file. */
    ContainerType: 'TS' | 'CMAF' | 'ISM';
    /** The name that describes the origin endpoint. The name is the primary identifier for the origin endpoint, and and must be unique for your account in the AWS Region and channel. */
    OriginEndpointName: string;
    /** A DASH manifest configuration. */
    DashManifests?: CreateDashManifestConfiguration[];
    /** Any descriptive information that you want to add to the origin endpoint for future identification purposes. */
    Description?: string;
    /** The expected current Entity Tag (ETag) for the resource. If the specified ETag does not match the resource's current entity tag, the update request will be rejected. */
    ETag?: string;
    /** The failover settings for the endpoint. */
    ForceEndpointErrorConfiguration?: ForceEndpointErrorConfiguration;
    /** An HTTP live streaming (HLS) manifest configuration. */
    HlsManifests?: CreateHlsManifestConfiguration[];
    /** A low-latency HLS manifest configuration. */
    LowLatencyHlsManifests?: CreateLowLatencyHlsManifestConfiguration[];
    /** A list of Microsoft Smooth Streaming (MSS) manifest configurations to update for the origin endpoint. This replaces the existing MSS manifest configurations. */
    MssManifests?: CreateMssManifestConfiguration[];
    /** The segment configuration, including the segment name, duration, and other configuration values. */
    Segment?: Segment;
    /** The size of the window (in seconds) to create a window of the live stream that's available for on-demand viewing. Viewers can start-over or catch-up on content that falls within the window. The maximu */
    StartoverWindowSeconds?: number;
}
/** MediaPackageV2 service binding for Step Functions SDK integrations. */
export declare class MediaPackageV2 {
    constructor();
    cancelHarvestJob<T>(params: CancelHarvestJobInput): Promise<T>;
    createHarvestJob<T>(params: CreateHarvestJobInput): Promise<T>;
    deleteChannel<T>(params: DeleteChannelInput): Promise<T>;
    deleteChannelGroup<T>(params: DeleteChannelGroupInput): Promise<T>;
    deleteChannelPolicy<T>(params: DeleteChannelPolicyInput): Promise<T>;
    deleteOriginEndpoint<T>(params: DeleteOriginEndpointInput): Promise<T>;
    deleteOriginEndpointPolicy<T>(params: DeleteOriginEndpointPolicyInput): Promise<T>;
    getChannel<T>(params: GetChannelInput): Promise<T>;
    getChannelGroup<T>(params: GetChannelGroupInput): Promise<T>;
    getChannelPolicy<T>(params: GetChannelPolicyInput): Promise<T>;
    getHarvestJob<T>(params: GetHarvestJobInput): Promise<T>;
    getOriginEndpoint<T>(params: GetOriginEndpointInput): Promise<T>;
    getOriginEndpointPolicy<T>(params: GetOriginEndpointPolicyInput): Promise<T>;
    listChannelGroups<T>(params: ListChannelGroupsInput): Promise<T>;
    listChannels<T>(params: ListChannelsInput): Promise<T>;
    listHarvestJobs<T>(params: ListHarvestJobsInput): Promise<T>;
    listOriginEndpoints<T>(params: ListOriginEndpointsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    resetChannelState<T>(params: ResetChannelStateInput): Promise<T>;
    resetOriginEndpointState<T>(params: ResetOriginEndpointStateInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateChannel<T>(params: UpdateChannelInput): Promise<T>;
    updateChannelGroup<T>(params: UpdateChannelGroupInput): Promise<T>;
    updateOriginEndpoint<T>(params: UpdateOriginEndpointInput): Promise<T>;
}
//# sourceMappingURL=MediaPackageV2.d.ts.map