import { ResourceBase } from "../../resource";
import { Value, List, MapOf } from "../../data-types";
export declare class Scte27SourceSettings {
    Pid?: Value<number>;
    constructor(properties: Scte27SourceSettings);
}
export declare class VideoSelectorProgramId {
    ProgramId?: Value<number>;
    constructor(properties: VideoSelectorProgramId);
}
export declare class AribSourceSettings {
    constructor(properties: AribSourceSettings);
}
export declare class EmbeddedSourceSettings {
    Source608ChannelNumber?: Value<number>;
    Scte20Detection?: Value<string>;
    Source608TrackNumber?: Value<number>;
    Convert608To708?: Value<string>;
    constructor(properties: EmbeddedSourceSettings);
}
export declare class CaptionSelector {
    LanguageCode?: Value<string>;
    SelectorSettings?: CaptionSelectorSettings;
    Name?: Value<string>;
    constructor(properties: CaptionSelector);
}
export declare class MultiplexProgramChannelDestinationSettings {
    MultiplexId?: Value<string>;
    ProgramName?: Value<string>;
    constructor(properties: MultiplexProgramChannelDestinationSettings);
}
export declare class CaptionSelectorSettings {
    DvbSubSourceSettings?: DvbSubSourceSettings;
    Scte27SourceSettings?: Scte27SourceSettings;
    AribSourceSettings?: AribSourceSettings;
    EmbeddedSourceSettings?: EmbeddedSourceSettings;
    Scte20SourceSettings?: Scte20SourceSettings;
    TeletextSourceSettings?: TeletextSourceSettings;
    constructor(properties: CaptionSelectorSettings);
}
export declare class DvbSubSourceSettings {
    Pid?: Value<number>;
    constructor(properties: DvbSubSourceSettings);
}
export declare class OutputDestination {
    MultiplexSettings?: MultiplexProgramChannelDestinationSettings;
    Id?: Value<string>;
    Settings?: List<OutputDestinationSettings>;
    MediaPackageSettings?: List<MediaPackageOutputDestinationSettings>;
    constructor(properties: OutputDestination);
}
export declare class InputAttachment {
    InputAttachmentName?: Value<string>;
    InputId?: Value<string>;
    InputSettings?: InputSettings;
    constructor(properties: InputAttachment);
}
export declare class VideoSelectorPid {
    Pid?: Value<number>;
    constructor(properties: VideoSelectorPid);
}
export declare class InputSettings {
    InputFilter?: Value<string>;
    DeblockFilter?: Value<string>;
    CaptionSelectors?: List<CaptionSelector>;
    DenoiseFilter?: Value<string>;
    SourceEndBehavior?: Value<string>;
    FilterStrength?: Value<number>;
    VideoSelector?: VideoSelector;
    AudioSelectors?: List<AudioSelector>;
    NetworkInputSettings?: NetworkInputSettings;
    constructor(properties: InputSettings);
}
export declare class MediaPackageOutputDestinationSettings {
    ChannelId?: Value<string>;
    constructor(properties: MediaPackageOutputDestinationSettings);
}
export declare class OutputDestinationSettings {
    StreamName?: Value<string>;
    Username?: Value<string>;
    PasswordParam?: Value<string>;
    Url?: Value<string>;
    constructor(properties: OutputDestinationSettings);
}
export declare class TeletextSourceSettings {
    PageNumber?: Value<string>;
    constructor(properties: TeletextSourceSettings);
}
export declare class InputSpecification {
    Codec?: Value<string>;
    MaximumBitrate?: Value<string>;
    Resolution?: Value<string>;
    constructor(properties: InputSpecification);
}
export declare class AudioSelector {
    SelectorSettings?: AudioSelectorSettings;
    Name?: Value<string>;
    constructor(properties: AudioSelector);
}
export declare class AudioPidSelection {
    Pid?: Value<number>;
    constructor(properties: AudioPidSelection);
}
export declare class AudioSelectorSettings {
    AudioPidSelection?: AudioPidSelection;
    AudioLanguageSelection?: AudioLanguageSelection;
    constructor(properties: AudioSelectorSettings);
}
export declare class Scte20SourceSettings {
    Source608ChannelNumber?: Value<number>;
    Convert608To708?: Value<string>;
    constructor(properties: Scte20SourceSettings);
}
export declare class AudioLanguageSelection {
    LanguageCode?: Value<string>;
    LanguageSelectionPolicy?: Value<string>;
    constructor(properties: AudioLanguageSelection);
}
export declare class HlsInputSettings {
    BufferSegments?: Value<number>;
    Retries?: Value<number>;
    Bandwidth?: Value<number>;
    RetryInterval?: Value<number>;
    constructor(properties: HlsInputSettings);
}
export declare class VideoSelector {
    SelectorSettings?: VideoSelectorSettings;
    ColorSpace?: Value<string>;
    ColorSpaceUsage?: Value<string>;
    constructor(properties: VideoSelector);
}
export declare class NetworkInputSettings {
    ServerValidation?: Value<string>;
    HlsInputSettings?: HlsInputSettings;
    constructor(properties: NetworkInputSettings);
}
export declare class VideoSelectorSettings {
    VideoSelectorProgramId?: VideoSelectorProgramId;
    VideoSelectorPid?: VideoSelectorPid;
    constructor(properties: VideoSelectorSettings);
}
export interface ChannelProperties {
    LogLevel?: Value<string>;
    Destinations?: List<OutputDestination>;
    InputAttachments?: List<InputAttachment>;
    RoleArn?: Value<string>;
    Name?: Value<string>;
    ChannelClass?: Value<string>;
    Tags?: MapOf<any>;
    InputSpecification?: InputSpecification;
    EncoderSettings?: MapOf<any>;
}
export default class Inner_Channel extends ResourceBase<ChannelProperties> {
    static Scte27SourceSettings: typeof Scte27SourceSettings;
    static VideoSelectorProgramId: typeof VideoSelectorProgramId;
    static AribSourceSettings: typeof AribSourceSettings;
    static EmbeddedSourceSettings: typeof EmbeddedSourceSettings;
    static CaptionSelector: typeof CaptionSelector;
    static MultiplexProgramChannelDestinationSettings: typeof MultiplexProgramChannelDestinationSettings;
    static CaptionSelectorSettings: typeof CaptionSelectorSettings;
    static DvbSubSourceSettings: typeof DvbSubSourceSettings;
    static OutputDestination: typeof OutputDestination;
    static InputAttachment: typeof InputAttachment;
    static VideoSelectorPid: typeof VideoSelectorPid;
    static InputSettings: typeof InputSettings;
    static MediaPackageOutputDestinationSettings: typeof MediaPackageOutputDestinationSettings;
    static OutputDestinationSettings: typeof OutputDestinationSettings;
    static TeletextSourceSettings: typeof TeletextSourceSettings;
    static InputSpecification: typeof InputSpecification;
    static AudioSelector: typeof AudioSelector;
    static AudioPidSelection: typeof AudioPidSelection;
    static AudioSelectorSettings: typeof AudioSelectorSettings;
    static Scte20SourceSettings: typeof Scte20SourceSettings;
    static AudioLanguageSelection: typeof AudioLanguageSelection;
    static HlsInputSettings: typeof HlsInputSettings;
    static VideoSelector: typeof VideoSelector;
    static NetworkInputSettings: typeof NetworkInputSettings;
    static VideoSelectorSettings: typeof VideoSelectorSettings;
    constructor(properties: ChannelProperties);
}
