export interface BatchStartViewerSessionRevocationViewerSession {
    /** The ARN of the channel associated with the viewer session to revoke. */
    channelArn: string;
    /** The ID of the viewer associated with the viewer session to revoke. Do not use this field for personally identifying, confidential, or sensitive information. */
    viewerId: string;
    /** An optional filter on which versions of the viewer session to revoke. All versions less than or equal to the specified version will be revoked. Default: 0. */
    viewerSessionVersionsLessThanOrEqualTo?: number;
}
export interface MultitrackInputConfiguration {
    /** Indicates whether multitrack input is enabled. Can be set to true only if channel type is STANDARD. Setting enabled to true with any other channel type will cause an exception. If true, then policy, m */
    enabled?: boolean;
    /** Indicates whether multitrack input is allowed or required. Required if enabled is true. */
    policy?: 'ALLOW' | 'REQUIRE';
    /** Maximum resolution for multitrack input. Required if enabled is true. */
    maximumResolution?: 'SD' | 'HD' | 'FULL_HD';
}
export interface S3DestinationConfiguration {
    /** Location (S3 bucket name) where recorded videos will be stored. */
    bucketName: string;
}
export interface DestinationConfiguration {
    /** An S3 destination configuration where recorded videos will be stored. */
    s3?: S3DestinationConfiguration;
}
export interface ThumbnailConfiguration {
    /** Thumbnail recording mode. Default: INTERVAL. */
    recordingMode?: 'DISABLED' | 'INTERVAL';
    /** The targeted thumbnail-generation interval in seconds. This is configurable (and required) only if recordingMode is INTERVAL. Default: 60. Important: For the BASIC channel type, or the STANDARD channe */
    targetIntervalSeconds?: number;
    /** Indicates the desired resolution of recorded thumbnails. Thumbnails are recorded at the selected resolution if the corresponding rendition is available during the stream; otherwise, they are recorded  */
    resolution?: 'SD' | 'HD' | 'FULL_HD' | 'LOWEST_RESOLUTION';
    /** Indicates the format in which thumbnails are recorded. SEQUENTIAL records all generated thumbnails in a serial manner, to the media/thumbnails directory. LATEST saves the latest thumbnail in media/lat */
    storage?: 'SEQUENTIAL' | 'LATEST'[];
}
export interface RenditionConfiguration {
    /** Indicates which set of renditions are recorded for a stream. For BASIC channels, the CUSTOM value has no effect. If CUSTOM is specified, a set of renditions must be specified in the renditions field.  */
    renditionSelection?: 'ALL' | 'NONE' | 'CUSTOM';
    /** Indicates which renditions are recorded for a stream, if renditionSelection is CUSTOM; otherwise, this field is irrelevant. The selected renditions are recorded if they are available during the stream */
    renditions?: 'SD' | 'HD' | 'FULL_HD' | 'LOWEST_RESOLUTION'[];
}
export interface StreamFilters {
    /** The stream’s health. */
    health?: 'HEALTHY' | 'STARVING' | 'UNKNOWN';
}
export interface BatchGetChannelInput {
    /** Array of ARNs, one per channel. */
    arns: string[];
}
export interface BatchGetStreamKeyInput {
    /** Array of ARNs, one per stream key. */
    arns: string[];
}
export interface BatchStartViewerSessionRevocationInput {
    /** Array of viewer sessions, one per channel-ARN and viewer-ID pair. */
    viewerSessions: BatchStartViewerSessionRevocationViewerSession[];
}
export interface CreateChannelInput {
    /** Whether the channel is private (enabled for playback authorization). Default: false. */
    authorized?: boolean;
    /** Indicates which content-packaging format is used (MPEG-TS or fMP4). If multitrackInputConfiguration is specified and enabled is true, then containerFormat is required and must be set to FRAGMENTED_MP4 */
    containerFormat?: 'TS' | 'FRAGMENTED_MP4';
    /** Whether the channel allows insecure RTMP and SRT ingest. Default: false. */
    insecureIngest?: boolean;
    /** Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. Default: LOW. */
    latencyMode?: 'NORMAL' | 'LOW';
    /** Object specifying multitrack input configuration. Default: no multitrack input configuration is specified. */
    multitrackInputConfiguration?: MultitrackInputConfiguration;
    /** Channel name. */
    name?: string;
    /** Playback-restriction-policy ARN. A valid ARN value here both specifies the ARN and enables playback restriction. Default: "" (empty string, no playback restriction policy is applied). */
    playbackRestrictionPolicyArn?: string;
    /** Optional transcode preset for the channel. This is selectable only for ADVANCED_HD and ADVANCED_SD channel types. For those channel types, the default preset is HIGHER_BANDWIDTH_DELIVERY. For other ch */
    preset?: 'HIGHER_BANDWIDTH_DELIVERY' | 'CONSTRAINED_BANDWIDTH_DELIVERY';
    /** Recording-configuration ARN. A valid ARN value here both specifies the ARN and enables recording. Default: "" (empty string, recording is disabled). */
    recordingConfigurationArn?: string;
    /** Array of 1-50 maps, each of the form string:string (key:value). See Best practices and strategies in Tagging Amazon Web Services Resources and Tag Editor for details, including restrictions that apply */
    tags?: Record<string, string>;
    /** Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable input resolution or bitrate, the stream probably will disconnect immediately. Default: STANDARD. For de */
    type?: 'BASIC' | 'STANDARD' | 'ADVANCED_SD' | 'ADVANCED_HD';
}
export interface CreatePlaybackRestrictionPolicyInput {
    /** A list of country codes that control geoblocking restriction. Allowed values are the officially assigned ISO 3166-1 alpha-2 codes. Default: All countries (an empty array). */
    allowedCountries?: string[];
    /** A list of origin sites that control CORS restriction. Allowed values are the same as valid values of the Origin header defined at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin. Defa */
    allowedOrigins?: string[];
    /** Whether channel playback is constrained by origin site. Default: false. */
    enableStrictOriginEnforcement?: boolean;
    /** Playback-restriction-policy name. The value does not need to be unique. */
    name?: string;
    /** Array of 1-50 maps, each of the form string:string (key:value). See Best practices and strategies in Tagging Amazon Web Services Resources and Tag Editor for details, including restrictions that apply */
    tags?: Record<string, string>;
}
export interface CreateRecordingConfigurationInput {
    /** A complex type that contains a destination configuration for where recorded video will be stored. */
    destinationConfiguration: DestinationConfiguration;
    /** Recording-configuration name. The value does not need to be unique. */
    name?: string;
    /** If a broadcast disconnects and then reconnects within the specified interval, the multiple streams will be considered a single broadcast and merged together. Default: 0. */
    recordingReconnectWindowSeconds?: number;
    /** Object that describes which renditions should be recorded for a stream. */
    renditionConfiguration?: RenditionConfiguration;
    /** Array of 1-50 maps, each of the form string:string (key:value). See Best practices and strategies in Tagging Amazon Web Services Resources and Tag Editor for details, including restrictions that apply */
    tags?: Record<string, string>;
    /** A complex type that allows you to enable/disable the recording of thumbnails for a live session and modify the interval at which thumbnails are generated for the live session. */
    thumbnailConfiguration?: ThumbnailConfiguration;
}
export interface CreateStreamKeyInput {
    /** ARN of the channel for which to create the stream key. */
    channelArn: string;
    /** Array of 1-50 maps, each of the form string:string (key:value). See Best practices and strategies in Tagging Amazon Web Services Resources and Tag Editor for details, including restrictions that apply */
    tags?: Record<string, string>;
}
export interface DeleteChannelInput {
    /** ARN of the channel to be deleted. */
    arn: string;
}
export interface DeletePlaybackKeyPairInput {
    /** ARN of the key pair to be deleted. */
    arn: string;
}
export interface DeletePlaybackRestrictionPolicyInput {
    /** ARN of the playback restriction policy to be deleted. */
    arn: string;
}
export interface DeleteRecordingConfigurationInput {
    /** ARN of the recording configuration to be deleted. */
    arn: string;
}
export interface DeleteStreamKeyInput {
    /** ARN of the stream key to be deleted. */
    arn: string;
}
export interface GetChannelInput {
    /** ARN of the channel for which the configuration is to be retrieved. */
    arn: string;
}
export interface GetPlaybackKeyPairInput {
    /** ARN of the key pair to be returned. */
    arn: string;
}
export interface GetPlaybackRestrictionPolicyInput {
    /** ARN of the playback restriction policy to be returned. */
    arn: string;
}
export interface GetRecordingConfigurationInput {
    /** ARN of the recording configuration to be retrieved. */
    arn: string;
}
export interface GetStreamInput {
    /** Channel ARN for stream to be accessed. */
    channelArn: string;
}
export interface GetStreamKeyInput {
    /** ARN for the stream key to be retrieved. */
    arn: string;
}
export interface GetStreamSessionInput {
    /** ARN of the channel resource */
    channelArn: string;
    /** Unique identifier for a live or previously live stream in the specified channel. If no streamId is provided, this returns the most recent stream session for the channel, if it exists. */
    streamId?: string;
}
export interface ImportPlaybackKeyPairInput {
    /** The public portion of a customer-generated key pair. */
    publicKeyMaterial: string;
    /** Playback-key-pair name. The value does not need to be unique. */
    name?: string;
    /** Any tags provided with the request are added to the playback key pair tags. See Best practices and strategies in Tagging Amazon Web Services Resources and Tag Editor for details, including restriction */
    tags?: Record<string, string>;
}
export interface ListChannelsInput {
    /** Filters the channel list to match the specified name. */
    filterByName?: string;
    /** Filters the channel list to match the specified policy. */
    filterByPlaybackRestrictionPolicyArn?: string;
    /** Filters the channel list to match the specified recording-configuration ARN. */
    filterByRecordingConfigurationArn?: string;
    /** Maximum number of channels to return. Default: 100. */
    maxResults?: number;
    /** The first channel to retrieve. This is used for pagination; see the nextToken response field. */
    nextToken?: string;
}
export interface ListPlaybackKeyPairsInput {
    /** Maximum number of key pairs to return. Default: your service quota or 100, whichever is smaller. */
    maxResults?: number;
    /** The first key pair to retrieve. This is used for pagination; see the nextToken response field. */
    nextToken?: string;
}
export interface ListPlaybackRestrictionPoliciesInput {
    /** Maximum number of policies to return. Default: 1. */
    maxResults?: number;
    /** The first policy to retrieve. This is used for pagination; see the nextToken response field. */
    nextToken?: string;
}
export interface ListRecordingConfigurationsInput {
    /** Maximum number of recording configurations to return. Default: your service quota or 100, whichever is smaller. */
    maxResults?: number;
    /** The first recording configuration to retrieve. This is used for pagination; see the nextToken response field. */
    nextToken?: string;
}
export interface ListStreamKeysInput {
    /** Channel ARN used to filter the list. */
    channelArn: string;
    /** Maximum number of streamKeys to return. Default: 1. */
    maxResults?: number;
    /** The first stream key to retrieve. This is used for pagination; see the nextToken response field. */
    nextToken?: string;
}
export interface ListStreamsInput {
    /** Filters the stream list to match the specified criterion. */
    filterBy?: StreamFilters;
    /** Maximum number of streams to return. Default: 100. */
    maxResults?: number;
    /** The first stream to retrieve. This is used for pagination; see the nextToken response field. */
    nextToken?: string;
}
export interface ListStreamSessionsInput {
    /** Channel ARN used to filter the list. */
    channelArn: string;
    /** Maximum number of streams to return. Default: 100. */
    maxResults?: number;
    /** The first stream to retrieve. This is used for pagination; see the nextToken response field. */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The ARN of the resource to be retrieved. The ARN must be URL-encoded. */
    resourceArn: string;
}
export interface PutMetadataInput {
    /** ARN of the channel into which metadata is inserted. This channel must have an active stream. */
    channelArn: string;
    /** Metadata to insert into the stream. Maximum: 1 KB per request. */
    metadata: string;
}
export interface StartViewerSessionRevocationInput {
    /** The ARN of the channel associated with the viewer session to revoke. */
    channelArn: string;
    /** The ID of the viewer associated with the viewer session to revoke. Do not use this field for personally identifying, confidential, or sensitive information. */
    viewerId: string;
    /** An optional filter on which versions of the viewer session to revoke. All versions less than or equal to the specified version will be revoked. Default: 0. */
    viewerSessionVersionsLessThanOrEqualTo?: number;
}
export interface StopStreamInput {
    /** ARN of the channel for which the stream is to be stopped. */
    channelArn: string;
}
export interface TagResourceInput {
    /** ARN of the resource for which tags are to be added or updated. The ARN must be URL-encoded. */
    resourceArn: string;
    /** Array of tags to be added or updated. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging Amazon Web Services Resources and Tag Editor for details,  */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** ARN of the resource for which tags are to be removed. The ARN must be URL-encoded. */
    resourceArn: string;
    /** Array of tags to be removed. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging Amazon Web Services Resources and Tag Editor for details, including */
    tagKeys: string[];
}
export interface UpdateChannelInput {
    /** ARN of the channel to be updated. */
    arn: string;
    /** Whether the channel is private (enabled for playback authorization). */
    authorized?: boolean;
    /** Indicates which content-packaging format is used (MPEG-TS or fMP4). If multitrackInputConfiguration is specified and enabled is true, then containerFormat is required and must be set to FRAGMENTED_MP4 */
    containerFormat?: 'TS' | 'FRAGMENTED_MP4';
    /** Whether the channel allows insecure RTMP and SRT ingest. Default: false. */
    insecureIngest?: boolean;
    /** Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. */
    latencyMode?: 'NORMAL' | 'LOW';
    /** Object specifying multitrack input configuration. Default: no multitrack input configuration is specified. */
    multitrackInputConfiguration?: MultitrackInputConfiguration;
    /** Channel name. */
    name?: string;
    /** Playback-restriction-policy ARN. A valid ARN value here both specifies the ARN and enables playback restriction. If this is set to an empty string, playback restriction policy is disabled. */
    playbackRestrictionPolicyArn?: string;
    /** Optional transcode preset for the channel. This is selectable only for ADVANCED_HD and ADVANCED_SD channel types. For those channel types, the default preset is HIGHER_BANDWIDTH_DELIVERY. For other ch */
    preset?: 'HIGHER_BANDWIDTH_DELIVERY' | 'CONSTRAINED_BANDWIDTH_DELIVERY';
    /** Recording-configuration ARN. A valid ARN value here both specifies the ARN and enables recording. If this is set to an empty string, recording is disabled. */
    recordingConfigurationArn?: string;
    /** Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable input resolution or bitrate, the stream probably will disconnect immediately. Default: STANDARD. For de */
    type?: 'BASIC' | 'STANDARD' | 'ADVANCED_SD' | 'ADVANCED_HD';
}
export interface UpdatePlaybackRestrictionPolicyInput {
    /** ARN of the playback-restriction-policy to be updated. */
    arn: string;
    /** A list of country codes that control geoblocking restriction. Allowed values are the officially assigned ISO 3166-1 alpha-2 codes. Default: All countries (an empty array). */
    allowedCountries?: string[];
    /** A list of origin sites that control CORS restriction. Allowed values are the same as valid values of the Origin header defined at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin. Defa */
    allowedOrigins?: string[];
    /** Whether channel playback is constrained by origin site. Default: false. */
    enableStrictOriginEnforcement?: boolean;
    /** Playback-restriction-policy name. The value does not need to be unique. */
    name?: string;
}
/** ivs service binding for Step Functions SDK integrations. */
export declare class ivs {
    constructor();
    batchGetChannel<T>(params: BatchGetChannelInput): Promise<T>;
    batchGetStreamKey<T>(params: BatchGetStreamKeyInput): Promise<T>;
    batchStartViewerSessionRevocation<T>(params: BatchStartViewerSessionRevocationInput): Promise<T>;
    createChannel<T>(params: CreateChannelInput): Promise<T>;
    createPlaybackRestrictionPolicy<T>(params: CreatePlaybackRestrictionPolicyInput): Promise<T>;
    createRecordingConfiguration<T>(params: CreateRecordingConfigurationInput): Promise<T>;
    createStreamKey<T>(params: CreateStreamKeyInput): Promise<T>;
    deleteChannel<T>(params: DeleteChannelInput): Promise<T>;
    deletePlaybackKeyPair<T>(params: DeletePlaybackKeyPairInput): Promise<T>;
    deletePlaybackRestrictionPolicy<T>(params: DeletePlaybackRestrictionPolicyInput): Promise<T>;
    deleteRecordingConfiguration<T>(params: DeleteRecordingConfigurationInput): Promise<T>;
    deleteStreamKey<T>(params: DeleteStreamKeyInput): Promise<T>;
    getChannel<T>(params: GetChannelInput): Promise<T>;
    getPlaybackKeyPair<T>(params: GetPlaybackKeyPairInput): Promise<T>;
    getPlaybackRestrictionPolicy<T>(params: GetPlaybackRestrictionPolicyInput): Promise<T>;
    getRecordingConfiguration<T>(params: GetRecordingConfigurationInput): Promise<T>;
    getStream<T>(params: GetStreamInput): Promise<T>;
    getStreamKey<T>(params: GetStreamKeyInput): Promise<T>;
    getStreamSession<T>(params: GetStreamSessionInput): Promise<T>;
    importPlaybackKeyPair<T>(params: ImportPlaybackKeyPairInput): Promise<T>;
    listChannels<T>(params: ListChannelsInput): Promise<T>;
    listPlaybackKeyPairs<T>(params: ListPlaybackKeyPairsInput): Promise<T>;
    listPlaybackRestrictionPolicies<T>(params: ListPlaybackRestrictionPoliciesInput): Promise<T>;
    listRecordingConfigurations<T>(params: ListRecordingConfigurationsInput): Promise<T>;
    listStreamKeys<T>(params: ListStreamKeysInput): Promise<T>;
    listStreams<T>(params: ListStreamsInput): Promise<T>;
    listStreamSessions<T>(params: ListStreamSessionsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    putMetadata<T>(params: PutMetadataInput): Promise<T>;
    startViewerSessionRevocation<T>(params: StartViewerSessionRevocationInput): Promise<T>;
    stopStream<T>(params: StopStreamInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateChannel<T>(params: UpdateChannelInput): Promise<T>;
    updatePlaybackRestrictionPolicy<T>(params: UpdatePlaybackRestrictionPolicyInput): Promise<T>;
}
//# sourceMappingURL=ivs.d.ts.map