export interface EgressAccessLogs {
    /** Customize the log group name. */
    LogGroupName?: string;
}
export interface CmafEncryption {
    /** An optional 128-bit, 16-byte hex value represented by a 32-character string, used in conjunction with the key for encrypting blocks. If you don't specify a value, then MediaPackage creates the constan */
    ConstantInitializationVector?: string;
    SpekeKeyProvider: any;
}
export interface CmafPackage {
    Encryption?: CmafEncryption;
    /** A list of HLS manifest configurations. */
    HlsManifests: any[];
    /** When includeEncoderConfigurationInSegments is set to true, MediaPackage places your encoder's Sequence Parameter Set (SPS), Picture Parameter Set (PPS), and Video Parameter Set (VPS) metadata in every */
    IncludeEncoderConfigurationInSegments?: boolean;
    /** Duration (in seconds) of each fragment. Actual fragments will be rounded to the nearest multiple of the source fragment duration. */
    SegmentDurationSeconds?: number;
}
export interface DashEncryption {
    SpekeKeyProvider: any;
}
export interface DashPackage {
    /** A list of DASH manifest configurations. */
    DashManifests: any[];
    Encryption?: DashEncryption;
    /** When includeEncoderConfigurationInSegments is set to true, MediaPackage places your encoder's Sequence Parameter Set (SPS), Picture Parameter Set (PPS), and Video Parameter Set (VPS) metadata in every */
    IncludeEncoderConfigurationInSegments?: boolean;
    /** When enabled, an I-Frame only stream will be included in the output. */
    IncludeIframeOnlyStream?: boolean;
    /** A list of triggers that controls when the outgoing Dynamic Adaptive Streaming over HTTP (DASH) Media Presentation Description (MPD) will be partitioned into multiple periods. If empty, the content wil */
    PeriodTriggers?: 'ADS'[];
    /** Duration (in seconds) of each segment. Actual segments will be rounded to the nearest multiple of the source segment duration. */
    SegmentDurationSeconds?: number;
    /** Determines the type of SegmentTemplate included in the Media Presentation Description (MPD). When set to NUMBER_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Number$ media */
    SegmentTemplateFormat?: 'NUMBER_WITH_TIMELINE' | 'TIME_WITH_TIMELINE' | 'NUMBER_WITH_DURATION';
}
export interface HlsEncryption {
    /** A constant initialization vector for encryption (optional). When not specified the initialization vector will be periodically rotated. */
    ConstantInitializationVector?: string;
    /** The encryption method to use. */
    EncryptionMethod?: 'AES_128' | 'SAMPLE_AES';
    SpekeKeyProvider: any;
}
export interface HlsPackage {
    Encryption?: HlsEncryption;
    /** A list of HLS manifest configurations. */
    HlsManifests: any[];
    /** When enabled, MediaPackage passes through digital video broadcasting (DVB) subtitles into the output. */
    IncludeDvbSubtitles?: boolean;
    /** Duration (in seconds) of each fragment. Actual fragments will be rounded to the nearest multiple of the source fragment duration. */
    SegmentDurationSeconds?: number;
    /** When enabled, audio streams will be placed in rendition groups in the output. */
    UseAudioRenditionGroup?: boolean;
}
export interface MssEncryption {
    SpekeKeyProvider: any;
}
export interface MssPackage {
    Encryption?: MssEncryption;
    /** A list of MSS manifest configurations. */
    MssManifests: any[];
    /** The duration (in seconds) of each segment. */
    SegmentDurationSeconds?: number;
}
export interface Authorization {
    /** The Amazon Resource Name (ARN) for the secret in AWS Secrets Manager that is used for CDN authorization. */
    CdnIdentifierSecret: string;
    /** The Amazon Resource Name (ARN) for the IAM role that allows MediaPackage to communicate with AWS Secrets Manager. */
    SecretsRoleArn: string;
}
/** The option to configure log subscription. */
export interface ConfigureLogsInput {
    /** The ID of a MediaPackage VOD PackagingGroup resource. */
    Id: string;
    EgressAccessLogs?: EgressAccessLogs;
}
/** A new MediaPackage VOD Asset configuration. */
export interface CreateAssetInput {
    /** The unique identifier for the Asset. */
    Id: string;
    /** The ID of the PackagingGroup for the Asset. */
    PackagingGroupId: string;
    /** ARN of the source object in S3. */
    SourceArn: string;
    /** The IAM role ARN used to access the source S3 bucket. */
    SourceRoleArn: string;
    /** The resource ID to include in SPEKE key requests. */
    ResourceId?: string;
    Tags?: Record<string, string>;
}
/** A new MediaPackage VOD PackagingConfiguration resource configuration. */
export interface CreatePackagingConfigurationInput {
    /** The ID of the PackagingConfiguration. */
    Id: string;
    /** The ID of a PackagingGroup. */
    PackagingGroupId: string;
    CmafPackage?: CmafPackage;
    DashPackage?: DashPackage;
    HlsPackage?: HlsPackage;
    MssPackage?: MssPackage;
    Tags?: Record<string, string>;
}
/** A new MediaPackage VOD PackagingGroup resource configuration. */
export interface CreatePackagingGroupInput {
    /** The ID of the PackagingGroup. */
    Id: string;
    Authorization?: Authorization;
    EgressAccessLogs?: EgressAccessLogs;
    Tags?: Record<string, string>;
}
export interface DeleteAssetInput {
    /** The ID of the MediaPackage VOD Asset resource to delete. */
    Id: string;
}
export interface DeletePackagingConfigurationInput {
    /** The ID of the MediaPackage VOD PackagingConfiguration resource to delete. */
    Id: string;
}
export interface DeletePackagingGroupInput {
    /** The ID of the MediaPackage VOD PackagingGroup resource to delete. */
    Id: string;
}
export interface DescribeAssetInput {
    /** The ID of an MediaPackage VOD Asset resource. */
    Id: string;
}
export interface DescribePackagingConfigurationInput {
    /** The ID of a MediaPackage VOD PackagingConfiguration resource. */
    Id: string;
}
export interface DescribePackagingGroupInput {
    /** The ID of a MediaPackage VOD PackagingGroup resource. */
    Id: string;
}
export interface ListAssetsInput {
    /** Upper bound on number of records to return. */
    MaxResults?: number;
    /** A token used to resume pagination from the end of a previous request. */
    NextToken?: string;
    /** Returns Assets associated with the specified PackagingGroup. */
    PackagingGroupId?: string;
}
export interface ListPackagingConfigurationsInput {
    /** Upper bound on number of records to return. */
    MaxResults?: number;
    /** A token used to resume pagination from the end of a previous request. */
    NextToken?: string;
    /** Returns MediaPackage VOD PackagingConfigurations associated with the specified PackagingGroup. */
    PackagingGroupId?: string;
}
export interface ListPackagingGroupsInput {
    /** Upper bound on number of records to return. */
    MaxResults?: number;
    /** A token used to resume pagination from the end of a previous request. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) for the resource. You can get this from the response to any request to the resource. */
    ResourceArn: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) for the resource. You can get this from the response to any request to the resource. */
    ResourceArn: string;
    /** A collection of tags associated with a resource */
    Tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) for the resource. You can get this from the response to any request to the resource. */
    ResourceArn: string;
    /** A comma-separated list of the tag keys to remove from the resource. */
    TagKeys: string[];
}
/** A MediaPackage VOD PackagingGroup resource configuration. */
export interface UpdatePackagingGroupInput {
    /** The ID of a MediaPackage VOD PackagingGroup resource. */
    Id: string;
    Authorization?: Authorization;
}
/** MediaPackage Vod service binding for Step Functions SDK integrations. */
export declare class MediaPackageVod {
    constructor();
    configureLogs<T>(params: ConfigureLogsInput): Promise<T>;
    createAsset<T>(params: CreateAssetInput): Promise<T>;
    createPackagingConfiguration<T>(params: CreatePackagingConfigurationInput): Promise<T>;
    createPackagingGroup<T>(params: CreatePackagingGroupInput): Promise<T>;
    deleteAsset<T>(params: DeleteAssetInput): Promise<T>;
    deletePackagingConfiguration<T>(params: DeletePackagingConfigurationInput): Promise<T>;
    deletePackagingGroup<T>(params: DeletePackagingGroupInput): Promise<T>;
    describeAsset<T>(params: DescribeAssetInput): Promise<T>;
    describePackagingConfiguration<T>(params: DescribePackagingConfigurationInput): Promise<T>;
    describePackagingGroup<T>(params: DescribePackagingGroupInput): Promise<T>;
    listAssets<T>(params: ListAssetsInput): Promise<T>;
    listPackagingConfigurations<T>(params: ListPackagingConfigurationsInput): Promise<T>;
    listPackagingGroups<T>(params: ListPackagingGroupsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updatePackagingGroup<T>(params: UpdatePackagingGroupInput): Promise<T>;
}
//# sourceMappingURL=MediaPackageVod.d.ts.map