import * as HttpClient from "effect/unstable/http/HttpClient";
import * as redacted from "effect/Redacted";
import * as S from "effect/Schema";
import * as stream from "effect/Stream";
import * as API from "../client/api.ts";
import type { Credentials } from "../credentials.ts";
import type { CommonErrors } from "../errors.ts";
import type { Region } from "../region.ts";
export type SensitiveString = string | redacted.Redacted<string>;
export type MaxResults = number;
export interface EgressAccessLogs {
    LogGroupName?: string;
}
export declare const EgressAccessLogs: S.Schema<EgressAccessLogs>;
export interface IngressAccessLogs {
    LogGroupName?: string;
}
export declare const IngressAccessLogs: S.Schema<IngressAccessLogs>;
export interface ConfigureLogsRequest {
    EgressAccessLogs?: EgressAccessLogs;
    Id: string;
    IngressAccessLogs?: IngressAccessLogs;
}
export declare const ConfigureLogsRequest: S.Schema<ConfigureLogsRequest>;
export interface IngestEndpoint {
    Id?: string;
    Password?: string | redacted.Redacted<string>;
    Url?: string;
    Username?: string | redacted.Redacted<string>;
}
export declare const IngestEndpoint: S.Schema<IngestEndpoint>;
export type __listOfIngestEndpoint = IngestEndpoint[];
export declare const __listOfIngestEndpoint: S.$Array<S.Schema<IngestEndpoint>>;
export interface HlsIngest {
    IngestEndpoints?: IngestEndpoint[];
}
export declare const HlsIngest: S.Schema<HlsIngest>;
export type Tags = {
    [key: string]: string | undefined;
};
export declare const Tags: S.$Record<S.String, S.optional<S.String>>;
export interface ConfigureLogsResponse {
    Arn?: string;
    CreatedAt?: string;
    Description?: string;
    EgressAccessLogs?: EgressAccessLogs;
    HlsIngest?: HlsIngest;
    Id?: string;
    IngressAccessLogs?: IngressAccessLogs;
    Tags?: {
        [key: string]: string | undefined;
    };
}
export declare const ConfigureLogsResponse: S.Schema<ConfigureLogsResponse>;
export interface CreateChannelRequest {
    Description?: string;
    Id?: string;
    Tags?: {
        [key: string]: string | undefined;
    };
}
export declare const CreateChannelRequest: S.Schema<CreateChannelRequest>;
export interface CreateChannelResponse {
    Arn?: string;
    CreatedAt?: string;
    Description?: string;
    EgressAccessLogs?: EgressAccessLogs;
    HlsIngest?: HlsIngest;
    Id?: string;
    IngressAccessLogs?: IngressAccessLogs;
    Tags?: {
        [key: string]: string | undefined;
    };
}
export declare const CreateChannelResponse: S.Schema<CreateChannelResponse>;
export interface S3Destination {
    BucketName?: string;
    ManifestKey?: string;
    RoleArn?: string;
}
export declare const S3Destination: S.Schema<S3Destination>;
export interface CreateHarvestJobRequest {
    EndTime?: string;
    Id?: string;
    OriginEndpointId?: string;
    S3Destination?: S3Destination;
    StartTime?: string;
}
export declare const CreateHarvestJobRequest: S.Schema<CreateHarvestJobRequest>;
export type Status = "IN_PROGRESS" | "SUCCEEDED" | "FAILED" | (string & {});
export declare const Status: S.String;
export interface CreateHarvestJobResponse {
    Arn?: string;
    ChannelId?: string;
    CreatedAt?: string;
    EndTime?: string;
    Id?: string;
    OriginEndpointId?: string;
    S3Destination?: S3Destination & {
        BucketName: string;
        ManifestKey: string;
        RoleArn: string;
    };
    StartTime?: string;
    Status?: Status;
}
export declare const CreateHarvestJobResponse: S.Schema<CreateHarvestJobResponse>;
export interface Authorization {
    CdnIdentifierSecret?: string;
    SecretsRoleArn?: string;
}
export declare const Authorization: S.Schema<Authorization>;
export type CmafEncryptionMethod = "SAMPLE_AES" | "AES_CTR" | (string & {});
export declare const CmafEncryptionMethod: S.String;
export type PresetSpeke20Audio = "PRESET-AUDIO-1" | "PRESET-AUDIO-2" | "PRESET-AUDIO-3" | "SHARED" | "UNENCRYPTED" | (string & {});
export declare const PresetSpeke20Audio: S.String;
export type PresetSpeke20Video = "PRESET-VIDEO-1" | "PRESET-VIDEO-2" | "PRESET-VIDEO-3" | "PRESET-VIDEO-4" | "PRESET-VIDEO-5" | "PRESET-VIDEO-6" | "PRESET-VIDEO-7" | "PRESET-VIDEO-8" | "SHARED" | "UNENCRYPTED" | (string & {});
export declare const PresetSpeke20Video: S.String;
export interface EncryptionContractConfiguration {
    PresetSpeke20Audio?: PresetSpeke20Audio;
    PresetSpeke20Video?: PresetSpeke20Video;
}
export declare const EncryptionContractConfiguration: S.Schema<EncryptionContractConfiguration>;
export type __listOf__string = string[];
export declare const __listOf__string: S.$Array<S.String>;
export interface SpekeKeyProvider {
    CertificateArn?: string;
    EncryptionContractConfiguration?: EncryptionContractConfiguration;
    ResourceId?: string;
    RoleArn?: string;
    SystemIds?: string[];
    Url?: string;
}
export declare const SpekeKeyProvider: S.Schema<SpekeKeyProvider>;
export interface CmafEncryption {
    ConstantInitializationVector?: string;
    EncryptionMethod?: CmafEncryptionMethod;
    KeyRotationIntervalSeconds?: number;
    SpekeKeyProvider?: SpekeKeyProvider;
}
export declare const CmafEncryption: S.Schema<CmafEncryption>;
export type AdMarkers = "NONE" | "SCTE35_ENHANCED" | "PASSTHROUGH" | "DATERANGE" | (string & {});
export declare const AdMarkers: S.String;
export type __AdTriggersElement = "SPLICE_INSERT" | "BREAK" | "PROVIDER_ADVERTISEMENT" | "DISTRIBUTOR_ADVERTISEMENT" | "PROVIDER_PLACEMENT_OPPORTUNITY" | "DISTRIBUTOR_PLACEMENT_OPPORTUNITY" | "PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY" | "DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY" | (string & {});
export declare const __AdTriggersElement: S.String;
export type AdTriggers = __AdTriggersElement[];
export declare const AdTriggers: S.$Array<S.String>;
export type AdsOnDeliveryRestrictions = "NONE" | "RESTRICTED" | "UNRESTRICTED" | "BOTH" | (string & {});
export declare const AdsOnDeliveryRestrictions: S.String;
export type PlaylistType = "NONE" | "EVENT" | "VOD" | (string & {});
export declare const PlaylistType: S.String;
export interface HlsManifestCreateOrUpdateParameters {
    AdMarkers?: AdMarkers;
    AdTriggers?: __AdTriggersElement[];
    AdsOnDeliveryRestrictions?: AdsOnDeliveryRestrictions;
    Id?: string;
    IncludeIframeOnlyStream?: boolean;
    ManifestName?: string;
    PlaylistType?: PlaylistType;
    PlaylistWindowSeconds?: number;
    ProgramDateTimeIntervalSeconds?: number;
}
export declare const HlsManifestCreateOrUpdateParameters: S.Schema<HlsManifestCreateOrUpdateParameters>;
export type __listOfHlsManifestCreateOrUpdateParameters = HlsManifestCreateOrUpdateParameters[];
export declare const __listOfHlsManifestCreateOrUpdateParameters: S.$Array<S.Schema<HlsManifestCreateOrUpdateParameters>>;
export type StreamOrder = "ORIGINAL" | "VIDEO_BITRATE_ASCENDING" | "VIDEO_BITRATE_DESCENDING" | (string & {});
export declare const StreamOrder: S.String;
export interface StreamSelection {
    MaxVideoBitsPerSecond?: number;
    MinVideoBitsPerSecond?: number;
    StreamOrder?: StreamOrder;
}
export declare const StreamSelection: S.Schema<StreamSelection>;
export interface CmafPackageCreateOrUpdateParameters {
    Encryption?: CmafEncryption;
    HlsManifests?: HlsManifestCreateOrUpdateParameters[];
    SegmentDurationSeconds?: number;
    SegmentPrefix?: string;
    StreamSelection?: StreamSelection;
}
export declare const CmafPackageCreateOrUpdateParameters: S.Schema<CmafPackageCreateOrUpdateParameters>;
export interface DashEncryption {
    KeyRotationIntervalSeconds?: number;
    SpekeKeyProvider?: SpekeKeyProvider;
}
export declare const DashEncryption: S.Schema<DashEncryption>;
export type ManifestLayout = "FULL" | "COMPACT" | "DRM_TOP_LEVEL_COMPACT" | (string & {});
export declare const ManifestLayout: S.String;
export type __PeriodTriggersElement = "ADS" | (string & {});
export declare const __PeriodTriggersElement: S.String;
export type __listOf__PeriodTriggersElement = __PeriodTriggersElement[];
export declare const __listOf__PeriodTriggersElement: S.$Array<S.String>;
export type Profile = "NONE" | "HBBTV_1_5" | "HYBRIDCAST" | "DVB_DASH_2014" | (string & {});
export declare const Profile: S.String;
export type SegmentTemplateFormat = "NUMBER_WITH_TIMELINE" | "TIME_WITH_TIMELINE" | "NUMBER_WITH_DURATION" | (string & {});
export declare const SegmentTemplateFormat: S.String;
export type UtcTiming = "NONE" | "HTTP-HEAD" | "HTTP-ISO" | "HTTP-XSDATE" | (string & {});
export declare const UtcTiming: S.String;
export interface DashPackage {
    AdTriggers?: __AdTriggersElement[];
    AdsOnDeliveryRestrictions?: AdsOnDeliveryRestrictions;
    Encryption?: DashEncryption;
    IncludeIframeOnlyStream?: boolean;
    ManifestLayout?: ManifestLayout;
    ManifestWindowSeconds?: number;
    MinBufferTimeSeconds?: number;
    MinUpdatePeriodSeconds?: number;
    PeriodTriggers?: __PeriodTriggersElement[];
    Profile?: Profile;
    SegmentDurationSeconds?: number;
    SegmentTemplateFormat?: SegmentTemplateFormat;
    StreamSelection?: StreamSelection;
    SuggestedPresentationDelaySeconds?: number;
    UtcTiming?: UtcTiming;
    UtcTimingUri?: string;
}
export declare const DashPackage: S.Schema<DashPackage>;
export type EncryptionMethod = "AES_128" | "SAMPLE_AES" | (string & {});
export declare const EncryptionMethod: S.String;
export interface HlsEncryption {
    ConstantInitializationVector?: string;
    EncryptionMethod?: EncryptionMethod;
    KeyRotationIntervalSeconds?: number;
    RepeatExtXKey?: boolean;
    SpekeKeyProvider?: SpekeKeyProvider;
}
export declare const HlsEncryption: S.Schema<HlsEncryption>;
export interface HlsPackage {
    AdMarkers?: AdMarkers;
    AdTriggers?: __AdTriggersElement[];
    AdsOnDeliveryRestrictions?: AdsOnDeliveryRestrictions;
    Encryption?: HlsEncryption;
    IncludeDvbSubtitles?: boolean;
    IncludeIframeOnlyStream?: boolean;
    PlaylistType?: PlaylistType;
    PlaylistWindowSeconds?: number;
    ProgramDateTimeIntervalSeconds?: number;
    SegmentDurationSeconds?: number;
    StreamSelection?: StreamSelection;
    UseAudioRenditionGroup?: boolean;
}
export declare const HlsPackage: S.Schema<HlsPackage>;
export interface MssEncryption {
    SpekeKeyProvider?: SpekeKeyProvider;
}
export declare const MssEncryption: S.Schema<MssEncryption>;
export interface MssPackage {
    Encryption?: MssEncryption;
    ManifestWindowSeconds?: number;
    SegmentDurationSeconds?: number;
    StreamSelection?: StreamSelection;
}
export declare const MssPackage: S.Schema<MssPackage>;
export type Origination = "ALLOW" | "DENY" | (string & {});
export declare const Origination: S.String;
export interface CreateOriginEndpointRequest {
    Authorization?: Authorization;
    ChannelId?: string;
    CmafPackage?: CmafPackageCreateOrUpdateParameters;
    DashPackage?: DashPackage;
    Description?: string;
    HlsPackage?: HlsPackage;
    Id?: string;
    ManifestName?: string;
    MssPackage?: MssPackage;
    Origination?: Origination;
    StartoverWindowSeconds?: number;
    Tags?: {
        [key: string]: string | undefined;
    };
    TimeDelaySeconds?: number;
    Whitelist?: string[];
}
export declare const CreateOriginEndpointRequest: S.Schema<CreateOriginEndpointRequest>;
export interface HlsManifest {
    AdMarkers?: AdMarkers;
    Id?: string;
    IncludeIframeOnlyStream?: boolean;
    ManifestName?: string;
    PlaylistType?: PlaylistType;
    PlaylistWindowSeconds?: number;
    ProgramDateTimeIntervalSeconds?: number;
    Url?: string;
    AdTriggers?: __AdTriggersElement[];
    AdsOnDeliveryRestrictions?: AdsOnDeliveryRestrictions;
}
export declare const HlsManifest: S.Schema<HlsManifest>;
export type __listOfHlsManifest = HlsManifest[];
export declare const __listOfHlsManifest: S.$Array<S.Schema<HlsManifest>>;
export interface CmafPackage {
    Encryption?: CmafEncryption;
    HlsManifests?: HlsManifest[];
    SegmentDurationSeconds?: number;
    SegmentPrefix?: string;
    StreamSelection?: StreamSelection;
}
export declare const CmafPackage: S.Schema<CmafPackage>;
export interface CreateOriginEndpointResponse {
    Arn?: string;
    Authorization?: Authorization & {
        CdnIdentifierSecret: string;
        SecretsRoleArn: string;
    };
    ChannelId?: string;
    CmafPackage?: CmafPackage & {
        Encryption: CmafEncryption & {
            SpekeKeyProvider: SpekeKeyProvider & {
                ResourceId: string;
                RoleArn: string;
                SystemIds: __listOf__string;
                Url: string;
                EncryptionContractConfiguration: EncryptionContractConfiguration & {
                    PresetSpeke20Audio: PresetSpeke20Audio;
                    PresetSpeke20Video: PresetSpeke20Video;
                };
            };
        };
        HlsManifests: (HlsManifest & {
            Id: string;
        })[];
    };
    CreatedAt?: string;
    DashPackage?: DashPackage & {
        Encryption: DashEncryption & {
            SpekeKeyProvider: SpekeKeyProvider & {
                ResourceId: string;
                RoleArn: string;
                SystemIds: __listOf__string;
                Url: string;
                EncryptionContractConfiguration: EncryptionContractConfiguration & {
                    PresetSpeke20Audio: PresetSpeke20Audio;
                    PresetSpeke20Video: PresetSpeke20Video;
                };
            };
        };
    };
    Description?: string;
    HlsPackage?: HlsPackage & {
        Encryption: HlsEncryption & {
            SpekeKeyProvider: SpekeKeyProvider & {
                ResourceId: string;
                RoleArn: string;
                SystemIds: __listOf__string;
                Url: string;
                EncryptionContractConfiguration: EncryptionContractConfiguration & {
                    PresetSpeke20Audio: PresetSpeke20Audio;
                    PresetSpeke20Video: PresetSpeke20Video;
                };
            };
        };
    };
    Id?: string;
    ManifestName?: string;
    MssPackage?: MssPackage & {
        Encryption: MssEncryption & {
            SpekeKeyProvider: SpekeKeyProvider & {
                ResourceId: string;
                RoleArn: string;
                SystemIds: __listOf__string;
                Url: string;
                EncryptionContractConfiguration: EncryptionContractConfiguration & {
                    PresetSpeke20Audio: PresetSpeke20Audio;
                    PresetSpeke20Video: PresetSpeke20Video;
                };
            };
        };
    };
    Origination?: Origination;
    StartoverWindowSeconds?: number;
    Tags?: {
        [key: string]: string | undefined;
    };
    TimeDelaySeconds?: number;
    Url?: string;
    Whitelist?: string[];
}
export declare const CreateOriginEndpointResponse: S.Schema<CreateOriginEndpointResponse>;
export interface DeleteChannelRequest {
    Id: string;
}
export declare const DeleteChannelRequest: S.Schema<DeleteChannelRequest>;
export interface DeleteChannelResponse {
}
export declare const DeleteChannelResponse: S.Schema<DeleteChannelResponse>;
export interface DeleteOriginEndpointRequest {
    Id: string;
}
export declare const DeleteOriginEndpointRequest: S.Schema<DeleteOriginEndpointRequest>;
export interface DeleteOriginEndpointResponse {
}
export declare const DeleteOriginEndpointResponse: S.Schema<DeleteOriginEndpointResponse>;
export interface DescribeChannelRequest {
    Id: string;
}
export declare const DescribeChannelRequest: S.Schema<DescribeChannelRequest>;
export interface DescribeChannelResponse {
    Arn?: string;
    CreatedAt?: string;
    Description?: string;
    EgressAccessLogs?: EgressAccessLogs;
    HlsIngest?: HlsIngest;
    Id?: string;
    IngressAccessLogs?: IngressAccessLogs;
    Tags?: {
        [key: string]: string | undefined;
    };
}
export declare const DescribeChannelResponse: S.Schema<DescribeChannelResponse>;
export interface DescribeHarvestJobRequest {
    Id: string;
}
export declare const DescribeHarvestJobRequest: S.Schema<DescribeHarvestJobRequest>;
export interface DescribeHarvestJobResponse {
    Arn?: string;
    ChannelId?: string;
    CreatedAt?: string;
    EndTime?: string;
    Id?: string;
    OriginEndpointId?: string;
    S3Destination?: S3Destination & {
        BucketName: string;
        ManifestKey: string;
        RoleArn: string;
    };
    StartTime?: string;
    Status?: Status;
}
export declare const DescribeHarvestJobResponse: S.Schema<DescribeHarvestJobResponse>;
export interface DescribeOriginEndpointRequest {
    Id: string;
}
export declare const DescribeOriginEndpointRequest: S.Schema<DescribeOriginEndpointRequest>;
export interface DescribeOriginEndpointResponse {
    Arn?: string;
    Authorization?: Authorization & {
        CdnIdentifierSecret: string;
        SecretsRoleArn: string;
    };
    ChannelId?: string;
    CmafPackage?: CmafPackage & {
        Encryption: CmafEncryption & {
            SpekeKeyProvider: SpekeKeyProvider & {
                ResourceId: string;
                RoleArn: string;
                SystemIds: __listOf__string;
                Url: string;
                EncryptionContractConfiguration: EncryptionContractConfiguration & {
                    PresetSpeke20Audio: PresetSpeke20Audio;
                    PresetSpeke20Video: PresetSpeke20Video;
                };
            };
        };
        HlsManifests: (HlsManifest & {
            Id: string;
        })[];
    };
    CreatedAt?: string;
    DashPackage?: DashPackage & {
        Encryption: DashEncryption & {
            SpekeKeyProvider: SpekeKeyProvider & {
                ResourceId: string;
                RoleArn: string;
                SystemIds: __listOf__string;
                Url: string;
                EncryptionContractConfiguration: EncryptionContractConfiguration & {
                    PresetSpeke20Audio: PresetSpeke20Audio;
                    PresetSpeke20Video: PresetSpeke20Video;
                };
            };
        };
    };
    Description?: string;
    HlsPackage?: HlsPackage & {
        Encryption: HlsEncryption & {
            SpekeKeyProvider: SpekeKeyProvider & {
                ResourceId: string;
                RoleArn: string;
                SystemIds: __listOf__string;
                Url: string;
                EncryptionContractConfiguration: EncryptionContractConfiguration & {
                    PresetSpeke20Audio: PresetSpeke20Audio;
                    PresetSpeke20Video: PresetSpeke20Video;
                };
            };
        };
    };
    Id?: string;
    ManifestName?: string;
    MssPackage?: MssPackage & {
        Encryption: MssEncryption & {
            SpekeKeyProvider: SpekeKeyProvider & {
                ResourceId: string;
                RoleArn: string;
                SystemIds: __listOf__string;
                Url: string;
                EncryptionContractConfiguration: EncryptionContractConfiguration & {
                    PresetSpeke20Audio: PresetSpeke20Audio;
                    PresetSpeke20Video: PresetSpeke20Video;
                };
            };
        };
    };
    Origination?: Origination;
    StartoverWindowSeconds?: number;
    Tags?: {
        [key: string]: string | undefined;
    };
    TimeDelaySeconds?: number;
    Url?: string;
    Whitelist?: string[];
}
export declare const DescribeOriginEndpointResponse: S.Schema<DescribeOriginEndpointResponse>;
export interface ListChannelsRequest {
    MaxResults?: number;
    NextToken?: string;
}
export declare const ListChannelsRequest: S.Schema<ListChannelsRequest>;
export interface Channel {
    Arn?: string;
    CreatedAt?: string;
    Description?: string;
    EgressAccessLogs?: EgressAccessLogs;
    HlsIngest?: HlsIngest;
    Id?: string;
    IngressAccessLogs?: IngressAccessLogs;
    Tags?: {
        [key: string]: string | undefined;
    };
}
export declare const Channel: S.Schema<Channel>;
export type __listOfChannel = Channel[];
export declare const __listOfChannel: S.$Array<S.Schema<Channel>>;
export interface ListChannelsResponse {
    Channels?: Channel[];
    NextToken?: string;
}
export declare const ListChannelsResponse: S.Schema<ListChannelsResponse>;
export interface ListHarvestJobsRequest {
    IncludeChannelId?: string;
    IncludeStatus?: string;
    MaxResults?: number;
    NextToken?: string;
}
export declare const ListHarvestJobsRequest: S.Schema<ListHarvestJobsRequest>;
export interface HarvestJob {
    Arn?: string;
    ChannelId?: string;
    CreatedAt?: string;
    EndTime?: string;
    Id?: string;
    OriginEndpointId?: string;
    S3Destination?: S3Destination;
    StartTime?: string;
    Status?: Status;
}
export declare const HarvestJob: S.Schema<HarvestJob>;
export type __listOfHarvestJob = HarvestJob[];
export declare const __listOfHarvestJob: S.$Array<S.Schema<HarvestJob>>;
export interface ListHarvestJobsResponse {
    HarvestJobs?: (HarvestJob & {
        S3Destination: S3Destination & {
            BucketName: string;
            ManifestKey: string;
            RoleArn: string;
        };
    })[];
    NextToken?: string;
}
export declare const ListHarvestJobsResponse: S.Schema<ListHarvestJobsResponse>;
export interface ListOriginEndpointsRequest {
    ChannelId?: string;
    MaxResults?: number;
    NextToken?: string;
}
export declare const ListOriginEndpointsRequest: S.Schema<ListOriginEndpointsRequest>;
export interface OriginEndpoint {
    Arn?: string;
    Authorization?: Authorization;
    ChannelId?: string;
    CmafPackage?: CmafPackage;
    CreatedAt?: string;
    DashPackage?: DashPackage;
    Description?: string;
    HlsPackage?: HlsPackage;
    Id?: string;
    ManifestName?: string;
    MssPackage?: MssPackage;
    Origination?: Origination;
    StartoverWindowSeconds?: number;
    Tags?: {
        [key: string]: string | undefined;
    };
    TimeDelaySeconds?: number;
    Url?: string;
    Whitelist?: string[];
}
export declare const OriginEndpoint: S.Schema<OriginEndpoint>;
export type __listOfOriginEndpoint = OriginEndpoint[];
export declare const __listOfOriginEndpoint: S.$Array<S.Schema<OriginEndpoint>>;
export interface ListOriginEndpointsResponse {
    NextToken?: string;
    OriginEndpoints?: (OriginEndpoint & {
        Authorization: Authorization & {
            CdnIdentifierSecret: string;
            SecretsRoleArn: string;
        };
        CmafPackage: CmafPackage & {
            Encryption: CmafEncryption & {
                SpekeKeyProvider: SpekeKeyProvider & {
                    ResourceId: string;
                    RoleArn: string;
                    SystemIds: __listOf__string;
                    Url: string;
                    EncryptionContractConfiguration: EncryptionContractConfiguration & {
                        PresetSpeke20Audio: PresetSpeke20Audio;
                        PresetSpeke20Video: PresetSpeke20Video;
                    };
                };
            };
            HlsManifests: (HlsManifest & {
                Id: string;
            })[];
        };
        DashPackage: DashPackage & {
            Encryption: DashEncryption & {
                SpekeKeyProvider: SpekeKeyProvider & {
                    ResourceId: string;
                    RoleArn: string;
                    SystemIds: __listOf__string;
                    Url: string;
                    EncryptionContractConfiguration: EncryptionContractConfiguration & {
                        PresetSpeke20Audio: PresetSpeke20Audio;
                        PresetSpeke20Video: PresetSpeke20Video;
                    };
                };
            };
        };
        HlsPackage: HlsPackage & {
            Encryption: HlsEncryption & {
                SpekeKeyProvider: SpekeKeyProvider & {
                    ResourceId: string;
                    RoleArn: string;
                    SystemIds: __listOf__string;
                    Url: string;
                    EncryptionContractConfiguration: EncryptionContractConfiguration & {
                        PresetSpeke20Audio: PresetSpeke20Audio;
                        PresetSpeke20Video: PresetSpeke20Video;
                    };
                };
            };
        };
        MssPackage: MssPackage & {
            Encryption: MssEncryption & {
                SpekeKeyProvider: SpekeKeyProvider & {
                    ResourceId: string;
                    RoleArn: string;
                    SystemIds: __listOf__string;
                    Url: string;
                    EncryptionContractConfiguration: EncryptionContractConfiguration & {
                        PresetSpeke20Audio: PresetSpeke20Audio;
                        PresetSpeke20Video: PresetSpeke20Video;
                    };
                };
            };
        };
    })[];
}
export declare const ListOriginEndpointsResponse: S.Schema<ListOriginEndpointsResponse>;
export interface ListTagsForResourceRequest {
    ResourceArn: string;
}
export declare const ListTagsForResourceRequest: S.Schema<ListTagsForResourceRequest>;
export type __mapOf__string = {
    [key: string]: string | undefined;
};
export declare const __mapOf__string: S.$Record<S.String, S.optional<S.String>>;
export interface ListTagsForResourceResponse {
    Tags?: {
        [key: string]: string | undefined;
    };
}
export declare const ListTagsForResourceResponse: S.Schema<ListTagsForResourceResponse>;
export interface RotateChannelCredentialsRequest {
    Id: string;
}
export declare const RotateChannelCredentialsRequest: S.Schema<RotateChannelCredentialsRequest>;
export interface RotateChannelCredentialsResponse {
    Arn?: string;
    CreatedAt?: string;
    Description?: string;
    EgressAccessLogs?: EgressAccessLogs;
    HlsIngest?: HlsIngest;
    Id?: string;
    IngressAccessLogs?: IngressAccessLogs;
    Tags?: {
        [key: string]: string | undefined;
    };
}
export declare const RotateChannelCredentialsResponse: S.Schema<RotateChannelCredentialsResponse>;
export interface RotateIngestEndpointCredentialsRequest {
    Id: string;
    IngestEndpointId: string;
}
export declare const RotateIngestEndpointCredentialsRequest: S.Schema<RotateIngestEndpointCredentialsRequest>;
export interface RotateIngestEndpointCredentialsResponse {
    Arn?: string;
    CreatedAt?: string;
    Description?: string;
    EgressAccessLogs?: EgressAccessLogs;
    HlsIngest?: HlsIngest;
    Id?: string;
    IngressAccessLogs?: IngressAccessLogs;
    Tags?: {
        [key: string]: string | undefined;
    };
}
export declare const RotateIngestEndpointCredentialsResponse: S.Schema<RotateIngestEndpointCredentialsResponse>;
export interface TagResourceRequest {
    ResourceArn: string;
    Tags?: {
        [key: string]: string | undefined;
    };
}
export declare const TagResourceRequest: S.Schema<TagResourceRequest>;
export interface TagResourceResponse {
}
export declare const TagResourceResponse: S.Schema<TagResourceResponse>;
export interface UntagResourceRequest {
    ResourceArn: string;
    TagKeys?: string[];
}
export declare const UntagResourceRequest: S.Schema<UntagResourceRequest>;
export interface UntagResourceResponse {
}
export declare const UntagResourceResponse: S.Schema<UntagResourceResponse>;
export interface UpdateChannelRequest {
    Description?: string;
    Id: string;
}
export declare const UpdateChannelRequest: S.Schema<UpdateChannelRequest>;
export interface UpdateChannelResponse {
    Arn?: string;
    CreatedAt?: string;
    Description?: string;
    EgressAccessLogs?: EgressAccessLogs;
    HlsIngest?: HlsIngest;
    Id?: string;
    IngressAccessLogs?: IngressAccessLogs;
    Tags?: {
        [key: string]: string | undefined;
    };
}
export declare const UpdateChannelResponse: S.Schema<UpdateChannelResponse>;
export interface UpdateOriginEndpointRequest {
    Authorization?: Authorization;
    CmafPackage?: CmafPackageCreateOrUpdateParameters;
    DashPackage?: DashPackage;
    Description?: string;
    HlsPackage?: HlsPackage;
    Id: string;
    ManifestName?: string;
    MssPackage?: MssPackage;
    Origination?: Origination;
    StartoverWindowSeconds?: number;
    TimeDelaySeconds?: number;
    Whitelist?: string[];
}
export declare const UpdateOriginEndpointRequest: S.Schema<UpdateOriginEndpointRequest>;
export interface UpdateOriginEndpointResponse {
    Arn?: string;
    Authorization?: Authorization & {
        CdnIdentifierSecret: string;
        SecretsRoleArn: string;
    };
    ChannelId?: string;
    CmafPackage?: CmafPackage & {
        Encryption: CmafEncryption & {
            SpekeKeyProvider: SpekeKeyProvider & {
                ResourceId: string;
                RoleArn: string;
                SystemIds: __listOf__string;
                Url: string;
                EncryptionContractConfiguration: EncryptionContractConfiguration & {
                    PresetSpeke20Audio: PresetSpeke20Audio;
                    PresetSpeke20Video: PresetSpeke20Video;
                };
            };
        };
        HlsManifests: (HlsManifest & {
            Id: string;
        })[];
    };
    CreatedAt?: string;
    DashPackage?: DashPackage & {
        Encryption: DashEncryption & {
            SpekeKeyProvider: SpekeKeyProvider & {
                ResourceId: string;
                RoleArn: string;
                SystemIds: __listOf__string;
                Url: string;
                EncryptionContractConfiguration: EncryptionContractConfiguration & {
                    PresetSpeke20Audio: PresetSpeke20Audio;
                    PresetSpeke20Video: PresetSpeke20Video;
                };
            };
        };
    };
    Description?: string;
    HlsPackage?: HlsPackage & {
        Encryption: HlsEncryption & {
            SpekeKeyProvider: SpekeKeyProvider & {
                ResourceId: string;
                RoleArn: string;
                SystemIds: __listOf__string;
                Url: string;
                EncryptionContractConfiguration: EncryptionContractConfiguration & {
                    PresetSpeke20Audio: PresetSpeke20Audio;
                    PresetSpeke20Video: PresetSpeke20Video;
                };
            };
        };
    };
    Id?: string;
    ManifestName?: string;
    MssPackage?: MssPackage & {
        Encryption: MssEncryption & {
            SpekeKeyProvider: SpekeKeyProvider & {
                ResourceId: string;
                RoleArn: string;
                SystemIds: __listOf__string;
                Url: string;
                EncryptionContractConfiguration: EncryptionContractConfiguration & {
                    PresetSpeke20Audio: PresetSpeke20Audio;
                    PresetSpeke20Video: PresetSpeke20Video;
                };
            };
        };
    };
    Origination?: Origination;
    StartoverWindowSeconds?: number;
    Tags?: {
        [key: string]: string | undefined;
    };
    TimeDelaySeconds?: number;
    Url?: string;
    Whitelist?: string[];
}
export declare const UpdateOriginEndpointResponse: S.Schema<UpdateOriginEndpointResponse>;
declare const ForbiddenException_base: S.Class<ForbiddenException, S.TaggedStruct<"ForbiddenException", {
    readonly Message: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        AuthError: true;
    };
});
export declare class ForbiddenException extends ForbiddenException_base {
}
declare const InternalServerErrorException_base: S.Class<InternalServerErrorException, S.TaggedStruct<"InternalServerErrorException", {
    readonly Message: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ServerError: true;
    };
});
export declare class InternalServerErrorException extends InternalServerErrorException_base {
}
declare const NotFoundException_base: S.Class<NotFoundException, S.TaggedStruct<"NotFoundException", {
    readonly Message: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class NotFoundException extends NotFoundException_base {
}
declare const ServiceUnavailableException_base: S.Class<ServiceUnavailableException, S.TaggedStruct<"ServiceUnavailableException", {
    readonly Message: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ServerError: true;
    };
});
export declare class ServiceUnavailableException extends ServiceUnavailableException_base {
}
declare const TooManyRequestsException_base: S.Class<TooManyRequestsException, S.TaggedStruct<"TooManyRequestsException", {
    readonly Message: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ThrottlingError: true;
    };
});
export declare class TooManyRequestsException extends TooManyRequestsException_base {
}
declare const UnprocessableEntityException_base: S.Class<UnprocessableEntityException, S.TaggedStruct<"UnprocessableEntityException", {
    readonly Message: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class UnprocessableEntityException extends UnprocessableEntityException_base {
}
export type ConfigureLogsError = ForbiddenException | InternalServerErrorException | NotFoundException | ServiceUnavailableException | TooManyRequestsException | UnprocessableEntityException | CommonErrors;
/**
 * Changes the Channel's properities to configure log subscription
 */
export declare const configureLogs: API.OperationMethod<ConfigureLogsRequest, ConfigureLogsResponse, ConfigureLogsError, Credentials | Region | HttpClient.HttpClient>;
export type CreateChannelError = ForbiddenException | InternalServerErrorException | NotFoundException | ServiceUnavailableException | TooManyRequestsException | UnprocessableEntityException | CommonErrors;
/**
 * Creates a new Channel.
 */
export declare const createChannel: API.OperationMethod<CreateChannelRequest, CreateChannelResponse, CreateChannelError, Credentials | Region | HttpClient.HttpClient>;
export type CreateHarvestJobError = ForbiddenException | InternalServerErrorException | NotFoundException | ServiceUnavailableException | TooManyRequestsException | UnprocessableEntityException | CommonErrors;
/**
 * Creates a new HarvestJob record.
 */
export declare const createHarvestJob: API.OperationMethod<CreateHarvestJobRequest, CreateHarvestJobResponse, CreateHarvestJobError, Credentials | Region | HttpClient.HttpClient>;
export type CreateOriginEndpointError = ForbiddenException | InternalServerErrorException | NotFoundException | ServiceUnavailableException | TooManyRequestsException | UnprocessableEntityException | CommonErrors;
/**
 * Creates a new OriginEndpoint record.
 */
export declare const createOriginEndpoint: API.OperationMethod<CreateOriginEndpointRequest, CreateOriginEndpointResponse, CreateOriginEndpointError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteChannelError = ForbiddenException | InternalServerErrorException | NotFoundException | ServiceUnavailableException | TooManyRequestsException | UnprocessableEntityException | CommonErrors;
/**
 * Deletes an existing Channel.
 */
export declare const deleteChannel: API.OperationMethod<DeleteChannelRequest, DeleteChannelResponse, DeleteChannelError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteOriginEndpointError = ForbiddenException | InternalServerErrorException | NotFoundException | ServiceUnavailableException | TooManyRequestsException | UnprocessableEntityException | CommonErrors;
/**
 * Deletes an existing OriginEndpoint.
 */
export declare const deleteOriginEndpoint: API.OperationMethod<DeleteOriginEndpointRequest, DeleteOriginEndpointResponse, DeleteOriginEndpointError, Credentials | Region | HttpClient.HttpClient>;
export type DescribeChannelError = ForbiddenException | InternalServerErrorException | NotFoundException | ServiceUnavailableException | TooManyRequestsException | UnprocessableEntityException | CommonErrors;
/**
 * Gets details about a Channel.
 */
export declare const describeChannel: API.OperationMethod<DescribeChannelRequest, DescribeChannelResponse, DescribeChannelError, Credentials | Region | HttpClient.HttpClient>;
export type DescribeHarvestJobError = ForbiddenException | InternalServerErrorException | NotFoundException | ServiceUnavailableException | TooManyRequestsException | UnprocessableEntityException | CommonErrors;
/**
 * Gets details about an existing HarvestJob.
 */
export declare const describeHarvestJob: API.OperationMethod<DescribeHarvestJobRequest, DescribeHarvestJobResponse, DescribeHarvestJobError, Credentials | Region | HttpClient.HttpClient>;
export type DescribeOriginEndpointError = ForbiddenException | InternalServerErrorException | NotFoundException | ServiceUnavailableException | TooManyRequestsException | UnprocessableEntityException | CommonErrors;
/**
 * Gets details about an existing OriginEndpoint.
 */
export declare const describeOriginEndpoint: API.OperationMethod<DescribeOriginEndpointRequest, DescribeOriginEndpointResponse, DescribeOriginEndpointError, Credentials | Region | HttpClient.HttpClient>;
export type ListChannelsError = ForbiddenException | InternalServerErrorException | NotFoundException | ServiceUnavailableException | TooManyRequestsException | UnprocessableEntityException | CommonErrors;
/**
 * Returns a collection of Channels.
 */
export declare const listChannels: API.OperationMethod<ListChannelsRequest, ListChannelsResponse, ListChannelsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListChannelsRequest) => stream.Stream<ListChannelsResponse, ListChannelsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListChannelsRequest) => stream.Stream<Channel, ListChannelsError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListHarvestJobsError = ForbiddenException | InternalServerErrorException | NotFoundException | ServiceUnavailableException | TooManyRequestsException | UnprocessableEntityException | CommonErrors;
/**
 * Returns a collection of HarvestJob records.
 */
export declare const listHarvestJobs: API.OperationMethod<ListHarvestJobsRequest, ListHarvestJobsResponse, ListHarvestJobsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListHarvestJobsRequest) => stream.Stream<ListHarvestJobsResponse, ListHarvestJobsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListHarvestJobsRequest) => stream.Stream<HarvestJob, ListHarvestJobsError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListOriginEndpointsError = ForbiddenException | InternalServerErrorException | NotFoundException | ServiceUnavailableException | TooManyRequestsException | UnprocessableEntityException | CommonErrors;
/**
 * Returns a collection of OriginEndpoint records.
 */
export declare const listOriginEndpoints: API.OperationMethod<ListOriginEndpointsRequest, ListOriginEndpointsResponse, ListOriginEndpointsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListOriginEndpointsRequest) => stream.Stream<ListOriginEndpointsResponse, ListOriginEndpointsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListOriginEndpointsRequest) => stream.Stream<OriginEndpoint, ListOriginEndpointsError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListTagsForResourceError = CommonErrors;
/**
 *
 */
export declare const listTagsForResource: API.OperationMethod<ListTagsForResourceRequest, ListTagsForResourceResponse, ListTagsForResourceError, Credentials | Region | HttpClient.HttpClient>;
export type RotateChannelCredentialsError = ForbiddenException | InternalServerErrorException | NotFoundException | ServiceUnavailableException | TooManyRequestsException | UnprocessableEntityException | CommonErrors;
/**
 * Changes the Channel's first IngestEndpoint's username and password. WARNING - This API is deprecated. Please use RotateIngestEndpointCredentials instead
 */
export declare const rotateChannelCredentials: API.OperationMethod<RotateChannelCredentialsRequest, RotateChannelCredentialsResponse, RotateChannelCredentialsError, Credentials | Region | HttpClient.HttpClient>;
export type RotateIngestEndpointCredentialsError = ForbiddenException | InternalServerErrorException | NotFoundException | ServiceUnavailableException | TooManyRequestsException | UnprocessableEntityException | CommonErrors;
/**
 * Rotate the IngestEndpoint's username and password, as specified by the IngestEndpoint's id.
 */
export declare const rotateIngestEndpointCredentials: API.OperationMethod<RotateIngestEndpointCredentialsRequest, RotateIngestEndpointCredentialsResponse, RotateIngestEndpointCredentialsError, Credentials | Region | HttpClient.HttpClient>;
export type TagResourceError = CommonErrors;
/**
 *
 */
export declare const tagResource: API.OperationMethod<TagResourceRequest, TagResourceResponse, TagResourceError, Credentials | Region | HttpClient.HttpClient>;
export type UntagResourceError = CommonErrors;
/**
 *
 */
export declare const untagResource: API.OperationMethod<UntagResourceRequest, UntagResourceResponse, UntagResourceError, Credentials | Region | HttpClient.HttpClient>;
export type UpdateChannelError = ForbiddenException | InternalServerErrorException | NotFoundException | ServiceUnavailableException | TooManyRequestsException | UnprocessableEntityException | CommonErrors;
/**
 * Updates an existing Channel.
 */
export declare const updateChannel: API.OperationMethod<UpdateChannelRequest, UpdateChannelResponse, UpdateChannelError, Credentials | Region | HttpClient.HttpClient>;
export type UpdateOriginEndpointError = ForbiddenException | InternalServerErrorException | NotFoundException | ServiceUnavailableException | TooManyRequestsException | UnprocessableEntityException | CommonErrors;
/**
 * Updates an existing OriginEndpoint.
 */
export declare const updateOriginEndpoint: API.OperationMethod<UpdateOriginEndpointRequest, UpdateOriginEndpointResponse, UpdateOriginEndpointError, Credentials | Region | HttpClient.HttpClient>;
export {};
//# sourceMappingURL=mediapackage.d.ts.map