/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface TranscoderJobConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#id TranscoderJob#id}
    *
    * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
    * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
    */
    readonly id?: string;
    /**
    * The labels associated with this job. You can use these to organize and group your jobs.
    *
    *
    * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
    * Please refer to the field 'effective_labels' for all of the labels present on the resource.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#labels TranscoderJob#labels}
    */
    readonly labels?: {
        [key: string]: string;
    };
    /**
    * The location of the transcoding job resource.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#location TranscoderJob#location}
    */
    readonly location: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#project TranscoderJob#project}
    */
    readonly project?: string;
    /**
    * Specify the templateId to use for populating Job.config.
    * The default is preset/web-hd, which is the only supported preset.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#template_id TranscoderJob#template_id}
    */
    readonly templateId?: string;
    /**
    * config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#config TranscoderJob#config}
    */
    readonly config?: TranscoderJobConfigA;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#timeouts TranscoderJob#timeouts}
    */
    readonly timeouts?: TranscoderJobTimeouts;
}
export interface TranscoderJobConfigAdBreaks {
    /**
    * Start time in seconds for the ad break, relative to the output file timeline
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#start_time_offset TranscoderJob#start_time_offset}
    */
    readonly startTimeOffset?: string;
}
export declare function transcoderJobConfigAdBreaksToTerraform(struct?: TranscoderJobConfigAdBreaks | cdktf.IResolvable): any;
export declare function transcoderJobConfigAdBreaksToHclTerraform(struct?: TranscoderJobConfigAdBreaks | cdktf.IResolvable): any;
export declare class TranscoderJobConfigAdBreaksOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): TranscoderJobConfigAdBreaks | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobConfigAdBreaks | cdktf.IResolvable | undefined);
    private _startTimeOffset?;
    get startTimeOffset(): string;
    set startTimeOffset(value: string);
    resetStartTimeOffset(): void;
    get startTimeOffsetInput(): string | undefined;
}
export declare class TranscoderJobConfigAdBreaksList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: TranscoderJobConfigAdBreaks[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): TranscoderJobConfigAdBreaksOutputReference;
}
export interface TranscoderJobConfigEditListStruct {
    /**
    * List of values identifying files that should be used in this atom.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#inputs TranscoderJob#inputs}
    */
    readonly inputs?: string[];
    /**
    * A unique key for this atom.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#key TranscoderJob#key}
    */
    readonly key?: string;
    /**
    * Start time in seconds for the atom, relative to the input file timeline. The default is '0s'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#start_time_offset TranscoderJob#start_time_offset}
    */
    readonly startTimeOffset?: string;
}
export declare function transcoderJobConfigEditListStructToTerraform(struct?: TranscoderJobConfigEditListStruct | cdktf.IResolvable): any;
export declare function transcoderJobConfigEditListStructToHclTerraform(struct?: TranscoderJobConfigEditListStruct | cdktf.IResolvable): any;
export declare class TranscoderJobConfigEditListStructOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): TranscoderJobConfigEditListStruct | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobConfigEditListStruct | cdktf.IResolvable | undefined);
    private _inputs?;
    get inputs(): string[];
    set inputs(value: string[]);
    resetInputs(): void;
    get inputsInput(): string[] | undefined;
    private _key?;
    get key(): string;
    set key(value: string);
    resetKey(): void;
    get keyInput(): string | undefined;
    private _startTimeOffset?;
    get startTimeOffset(): string;
    set startTimeOffset(value: string);
    resetStartTimeOffset(): void;
    get startTimeOffsetInput(): string | undefined;
}
export declare class TranscoderJobConfigEditListStructList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: TranscoderJobConfigEditListStruct[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): TranscoderJobConfigEditListStructOutputReference;
}
export interface TranscoderJobConfigElementaryStreamsAudioStream {
    /**
    * Audio bitrate in bits per second.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#bitrate_bps TranscoderJob#bitrate_bps}
    */
    readonly bitrateBps: number;
    /**
    * Number of audio channels. The default is '2'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#channel_count TranscoderJob#channel_count}
    */
    readonly channelCount?: number;
    /**
    * A list of channel names specifying layout of the audio channels. The default is ["fl", "fr"].
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#channel_layout TranscoderJob#channel_layout}
    */
    readonly channelLayout?: string[];
    /**
    * The codec for this audio stream. The default is 'aac'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#codec TranscoderJob#codec}
    */
    readonly codec?: string;
    /**
    * The audio sample rate in Hertz. The default is '48000'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#sample_rate_hertz TranscoderJob#sample_rate_hertz}
    */
    readonly sampleRateHertz?: number;
}
export declare function transcoderJobConfigElementaryStreamsAudioStreamToTerraform(struct?: TranscoderJobConfigElementaryStreamsAudioStreamOutputReference | TranscoderJobConfigElementaryStreamsAudioStream): any;
export declare function transcoderJobConfigElementaryStreamsAudioStreamToHclTerraform(struct?: TranscoderJobConfigElementaryStreamsAudioStreamOutputReference | TranscoderJobConfigElementaryStreamsAudioStream): any;
export declare class TranscoderJobConfigElementaryStreamsAudioStreamOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigElementaryStreamsAudioStream | undefined;
    set internalValue(value: TranscoderJobConfigElementaryStreamsAudioStream | undefined);
    private _bitrateBps?;
    get bitrateBps(): number;
    set bitrateBps(value: number);
    get bitrateBpsInput(): number | undefined;
    private _channelCount?;
    get channelCount(): number;
    set channelCount(value: number);
    resetChannelCount(): void;
    get channelCountInput(): number | undefined;
    private _channelLayout?;
    get channelLayout(): string[];
    set channelLayout(value: string[]);
    resetChannelLayout(): void;
    get channelLayoutInput(): string[] | undefined;
    private _codec?;
    get codec(): string;
    set codec(value: string);
    resetCodec(): void;
    get codecInput(): string | undefined;
    private _sampleRateHertz?;
    get sampleRateHertz(): number;
    set sampleRateHertz(value: number);
    resetSampleRateHertz(): void;
    get sampleRateHertzInput(): number | undefined;
}
export interface TranscoderJobConfigElementaryStreamsVideoStreamH264Hlg {
}
export declare function transcoderJobConfigElementaryStreamsVideoStreamH264HlgToTerraform(struct?: TranscoderJobConfigElementaryStreamsVideoStreamH264HlgOutputReference | TranscoderJobConfigElementaryStreamsVideoStreamH264Hlg): any;
export declare function transcoderJobConfigElementaryStreamsVideoStreamH264HlgToHclTerraform(struct?: TranscoderJobConfigElementaryStreamsVideoStreamH264HlgOutputReference | TranscoderJobConfigElementaryStreamsVideoStreamH264Hlg): any;
export declare class TranscoderJobConfigElementaryStreamsVideoStreamH264HlgOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigElementaryStreamsVideoStreamH264Hlg | undefined;
    set internalValue(value: TranscoderJobConfigElementaryStreamsVideoStreamH264Hlg | undefined);
}
export interface TranscoderJobConfigElementaryStreamsVideoStreamH264Sdr {
}
export declare function transcoderJobConfigElementaryStreamsVideoStreamH264SdrToTerraform(struct?: TranscoderJobConfigElementaryStreamsVideoStreamH264SdrOutputReference | TranscoderJobConfigElementaryStreamsVideoStreamH264Sdr): any;
export declare function transcoderJobConfigElementaryStreamsVideoStreamH264SdrToHclTerraform(struct?: TranscoderJobConfigElementaryStreamsVideoStreamH264SdrOutputReference | TranscoderJobConfigElementaryStreamsVideoStreamH264Sdr): any;
export declare class TranscoderJobConfigElementaryStreamsVideoStreamH264SdrOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigElementaryStreamsVideoStreamH264Sdr | undefined;
    set internalValue(value: TranscoderJobConfigElementaryStreamsVideoStreamH264Sdr | undefined);
}
export interface TranscoderJobConfigElementaryStreamsVideoStreamH264 {
    /**
    * The video bitrate in bits per second.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#bitrate_bps TranscoderJob#bitrate_bps}
    */
    readonly bitrateBps: number;
    /**
    * Target CRF level. The default is '21'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#crf_level TranscoderJob#crf_level}
    */
    readonly crfLevel?: number;
    /**
    * The entropy coder to use. The default is 'cabac'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#entropy_coder TranscoderJob#entropy_coder}
    */
    readonly entropyCoder?: string;
    /**
    * The target video frame rate in frames per second (FPS).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#frame_rate TranscoderJob#frame_rate}
    */
    readonly frameRate: number;
    /**
    * Select the GOP size based on the specified duration. The default is '3s'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#gop_duration TranscoderJob#gop_duration}
    */
    readonly gopDuration?: string;
    /**
    * The height of the video in pixels.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#height_pixels TranscoderJob#height_pixels}
    */
    readonly heightPixels?: number;
    /**
    * Pixel format to use. The default is 'yuv420p'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#pixel_format TranscoderJob#pixel_format}
    */
    readonly pixelFormat?: string;
    /**
    * Enforces the specified codec preset. The default is 'veryfast'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#preset TranscoderJob#preset}
    */
    readonly preset?: string;
    /**
    * Enforces the specified codec profile.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#profile TranscoderJob#profile}
    */
    readonly profile?: string;
    /**
    * Specify the mode. The default is 'vbr'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#rate_control_mode TranscoderJob#rate_control_mode}
    */
    readonly rateControlMode?: string;
    /**
    * Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#vbv_fullness_bits TranscoderJob#vbv_fullness_bits}
    */
    readonly vbvFullnessBits?: number;
    /**
    * Size of the Video Buffering Verifier (VBV) buffer in bits.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#vbv_size_bits TranscoderJob#vbv_size_bits}
    */
    readonly vbvSizeBits?: number;
    /**
    * The width of the video in pixels.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#width_pixels TranscoderJob#width_pixels}
    */
    readonly widthPixels?: number;
    /**
    * hlg block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#hlg TranscoderJob#hlg}
    */
    readonly hlg?: TranscoderJobConfigElementaryStreamsVideoStreamH264Hlg;
    /**
    * sdr block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#sdr TranscoderJob#sdr}
    */
    readonly sdr?: TranscoderJobConfigElementaryStreamsVideoStreamH264Sdr;
}
export declare function transcoderJobConfigElementaryStreamsVideoStreamH264ToTerraform(struct?: TranscoderJobConfigElementaryStreamsVideoStreamH264OutputReference | TranscoderJobConfigElementaryStreamsVideoStreamH264): any;
export declare function transcoderJobConfigElementaryStreamsVideoStreamH264ToHclTerraform(struct?: TranscoderJobConfigElementaryStreamsVideoStreamH264OutputReference | TranscoderJobConfigElementaryStreamsVideoStreamH264): any;
export declare class TranscoderJobConfigElementaryStreamsVideoStreamH264OutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigElementaryStreamsVideoStreamH264 | undefined;
    set internalValue(value: TranscoderJobConfigElementaryStreamsVideoStreamH264 | undefined);
    private _bitrateBps?;
    get bitrateBps(): number;
    set bitrateBps(value: number);
    get bitrateBpsInput(): number | undefined;
    private _crfLevel?;
    get crfLevel(): number;
    set crfLevel(value: number);
    resetCrfLevel(): void;
    get crfLevelInput(): number | undefined;
    private _entropyCoder?;
    get entropyCoder(): string;
    set entropyCoder(value: string);
    resetEntropyCoder(): void;
    get entropyCoderInput(): string | undefined;
    private _frameRate?;
    get frameRate(): number;
    set frameRate(value: number);
    get frameRateInput(): number | undefined;
    private _gopDuration?;
    get gopDuration(): string;
    set gopDuration(value: string);
    resetGopDuration(): void;
    get gopDurationInput(): string | undefined;
    private _heightPixels?;
    get heightPixels(): number;
    set heightPixels(value: number);
    resetHeightPixels(): void;
    get heightPixelsInput(): number | undefined;
    private _pixelFormat?;
    get pixelFormat(): string;
    set pixelFormat(value: string);
    resetPixelFormat(): void;
    get pixelFormatInput(): string | undefined;
    private _preset?;
    get preset(): string;
    set preset(value: string);
    resetPreset(): void;
    get presetInput(): string | undefined;
    private _profile?;
    get profile(): string;
    set profile(value: string);
    resetProfile(): void;
    get profileInput(): string | undefined;
    private _rateControlMode?;
    get rateControlMode(): string;
    set rateControlMode(value: string);
    resetRateControlMode(): void;
    get rateControlModeInput(): string | undefined;
    private _vbvFullnessBits?;
    get vbvFullnessBits(): number;
    set vbvFullnessBits(value: number);
    resetVbvFullnessBits(): void;
    get vbvFullnessBitsInput(): number | undefined;
    private _vbvSizeBits?;
    get vbvSizeBits(): number;
    set vbvSizeBits(value: number);
    resetVbvSizeBits(): void;
    get vbvSizeBitsInput(): number | undefined;
    private _widthPixels?;
    get widthPixels(): number;
    set widthPixels(value: number);
    resetWidthPixels(): void;
    get widthPixelsInput(): number | undefined;
    private _hlg;
    get hlg(): TranscoderJobConfigElementaryStreamsVideoStreamH264HlgOutputReference;
    putHlg(value: TranscoderJobConfigElementaryStreamsVideoStreamH264Hlg): void;
    resetHlg(): void;
    get hlgInput(): TranscoderJobConfigElementaryStreamsVideoStreamH264Hlg | undefined;
    private _sdr;
    get sdr(): TranscoderJobConfigElementaryStreamsVideoStreamH264SdrOutputReference;
    putSdr(value: TranscoderJobConfigElementaryStreamsVideoStreamH264Sdr): void;
    resetSdr(): void;
    get sdrInput(): TranscoderJobConfigElementaryStreamsVideoStreamH264Sdr | undefined;
}
export interface TranscoderJobConfigElementaryStreamsVideoStream {
    /**
    * h264 block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#h264 TranscoderJob#h264}
    */
    readonly h264?: TranscoderJobConfigElementaryStreamsVideoStreamH264;
}
export declare function transcoderJobConfigElementaryStreamsVideoStreamToTerraform(struct?: TranscoderJobConfigElementaryStreamsVideoStreamOutputReference | TranscoderJobConfigElementaryStreamsVideoStream): any;
export declare function transcoderJobConfigElementaryStreamsVideoStreamToHclTerraform(struct?: TranscoderJobConfigElementaryStreamsVideoStreamOutputReference | TranscoderJobConfigElementaryStreamsVideoStream): any;
export declare class TranscoderJobConfigElementaryStreamsVideoStreamOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigElementaryStreamsVideoStream | undefined;
    set internalValue(value: TranscoderJobConfigElementaryStreamsVideoStream | undefined);
    private _h264;
    get h264(): TranscoderJobConfigElementaryStreamsVideoStreamH264OutputReference;
    putH264(value: TranscoderJobConfigElementaryStreamsVideoStreamH264): void;
    resetH264(): void;
    get h264Input(): TranscoderJobConfigElementaryStreamsVideoStreamH264 | undefined;
}
export interface TranscoderJobConfigElementaryStreams {
    /**
    * A unique key for this atom.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#key TranscoderJob#key}
    */
    readonly key?: string;
    /**
    * audio_stream block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#audio_stream TranscoderJob#audio_stream}
    */
    readonly audioStream?: TranscoderJobConfigElementaryStreamsAudioStream;
    /**
    * video_stream block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#video_stream TranscoderJob#video_stream}
    */
    readonly videoStream?: TranscoderJobConfigElementaryStreamsVideoStream;
}
export declare function transcoderJobConfigElementaryStreamsToTerraform(struct?: TranscoderJobConfigElementaryStreams | cdktf.IResolvable): any;
export declare function transcoderJobConfigElementaryStreamsToHclTerraform(struct?: TranscoderJobConfigElementaryStreams | cdktf.IResolvable): any;
export declare class TranscoderJobConfigElementaryStreamsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): TranscoderJobConfigElementaryStreams | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobConfigElementaryStreams | cdktf.IResolvable | undefined);
    private _key?;
    get key(): string;
    set key(value: string);
    resetKey(): void;
    get keyInput(): string | undefined;
    private _audioStream;
    get audioStream(): TranscoderJobConfigElementaryStreamsAudioStreamOutputReference;
    putAudioStream(value: TranscoderJobConfigElementaryStreamsAudioStream): void;
    resetAudioStream(): void;
    get audioStreamInput(): TranscoderJobConfigElementaryStreamsAudioStream | undefined;
    private _videoStream;
    get videoStream(): TranscoderJobConfigElementaryStreamsVideoStreamOutputReference;
    putVideoStream(value: TranscoderJobConfigElementaryStreamsVideoStream): void;
    resetVideoStream(): void;
    get videoStreamInput(): TranscoderJobConfigElementaryStreamsVideoStream | undefined;
}
export declare class TranscoderJobConfigElementaryStreamsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: TranscoderJobConfigElementaryStreams[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): TranscoderJobConfigElementaryStreamsOutputReference;
}
export interface TranscoderJobConfigEncryptionsAes128 {
}
export declare function transcoderJobConfigEncryptionsAes128ToTerraform(struct?: TranscoderJobConfigEncryptionsAes128OutputReference | TranscoderJobConfigEncryptionsAes128): any;
export declare function transcoderJobConfigEncryptionsAes128ToHclTerraform(struct?: TranscoderJobConfigEncryptionsAes128OutputReference | TranscoderJobConfigEncryptionsAes128): any;
export declare class TranscoderJobConfigEncryptionsAes128OutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigEncryptionsAes128 | undefined;
    set internalValue(value: TranscoderJobConfigEncryptionsAes128 | undefined);
}
export interface TranscoderJobConfigEncryptionsDrmSystemsClearkey {
}
export declare function transcoderJobConfigEncryptionsDrmSystemsClearkeyToTerraform(struct?: TranscoderJobConfigEncryptionsDrmSystemsClearkeyOutputReference | TranscoderJobConfigEncryptionsDrmSystemsClearkey): any;
export declare function transcoderJobConfigEncryptionsDrmSystemsClearkeyToHclTerraform(struct?: TranscoderJobConfigEncryptionsDrmSystemsClearkeyOutputReference | TranscoderJobConfigEncryptionsDrmSystemsClearkey): any;
export declare class TranscoderJobConfigEncryptionsDrmSystemsClearkeyOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigEncryptionsDrmSystemsClearkey | undefined;
    set internalValue(value: TranscoderJobConfigEncryptionsDrmSystemsClearkey | undefined);
}
export interface TranscoderJobConfigEncryptionsDrmSystemsFairplay {
}
export declare function transcoderJobConfigEncryptionsDrmSystemsFairplayToTerraform(struct?: TranscoderJobConfigEncryptionsDrmSystemsFairplayOutputReference | TranscoderJobConfigEncryptionsDrmSystemsFairplay): any;
export declare function transcoderJobConfigEncryptionsDrmSystemsFairplayToHclTerraform(struct?: TranscoderJobConfigEncryptionsDrmSystemsFairplayOutputReference | TranscoderJobConfigEncryptionsDrmSystemsFairplay): any;
export declare class TranscoderJobConfigEncryptionsDrmSystemsFairplayOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigEncryptionsDrmSystemsFairplay | undefined;
    set internalValue(value: TranscoderJobConfigEncryptionsDrmSystemsFairplay | undefined);
}
export interface TranscoderJobConfigEncryptionsDrmSystemsPlayready {
}
export declare function transcoderJobConfigEncryptionsDrmSystemsPlayreadyToTerraform(struct?: TranscoderJobConfigEncryptionsDrmSystemsPlayreadyOutputReference | TranscoderJobConfigEncryptionsDrmSystemsPlayready): any;
export declare function transcoderJobConfigEncryptionsDrmSystemsPlayreadyToHclTerraform(struct?: TranscoderJobConfigEncryptionsDrmSystemsPlayreadyOutputReference | TranscoderJobConfigEncryptionsDrmSystemsPlayready): any;
export declare class TranscoderJobConfigEncryptionsDrmSystemsPlayreadyOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigEncryptionsDrmSystemsPlayready | undefined;
    set internalValue(value: TranscoderJobConfigEncryptionsDrmSystemsPlayready | undefined);
}
export interface TranscoderJobConfigEncryptionsDrmSystemsWidevine {
}
export declare function transcoderJobConfigEncryptionsDrmSystemsWidevineToTerraform(struct?: TranscoderJobConfigEncryptionsDrmSystemsWidevineOutputReference | TranscoderJobConfigEncryptionsDrmSystemsWidevine): any;
export declare function transcoderJobConfigEncryptionsDrmSystemsWidevineToHclTerraform(struct?: TranscoderJobConfigEncryptionsDrmSystemsWidevineOutputReference | TranscoderJobConfigEncryptionsDrmSystemsWidevine): any;
export declare class TranscoderJobConfigEncryptionsDrmSystemsWidevineOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigEncryptionsDrmSystemsWidevine | undefined;
    set internalValue(value: TranscoderJobConfigEncryptionsDrmSystemsWidevine | undefined);
}
export interface TranscoderJobConfigEncryptionsDrmSystems {
    /**
    * clearkey block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#clearkey TranscoderJob#clearkey}
    */
    readonly clearkey?: TranscoderJobConfigEncryptionsDrmSystemsClearkey;
    /**
    * fairplay block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#fairplay TranscoderJob#fairplay}
    */
    readonly fairplay?: TranscoderJobConfigEncryptionsDrmSystemsFairplay;
    /**
    * playready block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#playready TranscoderJob#playready}
    */
    readonly playready?: TranscoderJobConfigEncryptionsDrmSystemsPlayready;
    /**
    * widevine block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#widevine TranscoderJob#widevine}
    */
    readonly widevine?: TranscoderJobConfigEncryptionsDrmSystemsWidevine;
}
export declare function transcoderJobConfigEncryptionsDrmSystemsToTerraform(struct?: TranscoderJobConfigEncryptionsDrmSystemsOutputReference | TranscoderJobConfigEncryptionsDrmSystems): any;
export declare function transcoderJobConfigEncryptionsDrmSystemsToHclTerraform(struct?: TranscoderJobConfigEncryptionsDrmSystemsOutputReference | TranscoderJobConfigEncryptionsDrmSystems): any;
export declare class TranscoderJobConfigEncryptionsDrmSystemsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigEncryptionsDrmSystems | undefined;
    set internalValue(value: TranscoderJobConfigEncryptionsDrmSystems | undefined);
    private _clearkey;
    get clearkey(): TranscoderJobConfigEncryptionsDrmSystemsClearkeyOutputReference;
    putClearkey(value: TranscoderJobConfigEncryptionsDrmSystemsClearkey): void;
    resetClearkey(): void;
    get clearkeyInput(): TranscoderJobConfigEncryptionsDrmSystemsClearkey | undefined;
    private _fairplay;
    get fairplay(): TranscoderJobConfigEncryptionsDrmSystemsFairplayOutputReference;
    putFairplay(value: TranscoderJobConfigEncryptionsDrmSystemsFairplay): void;
    resetFairplay(): void;
    get fairplayInput(): TranscoderJobConfigEncryptionsDrmSystemsFairplay | undefined;
    private _playready;
    get playready(): TranscoderJobConfigEncryptionsDrmSystemsPlayreadyOutputReference;
    putPlayready(value: TranscoderJobConfigEncryptionsDrmSystemsPlayready): void;
    resetPlayready(): void;
    get playreadyInput(): TranscoderJobConfigEncryptionsDrmSystemsPlayready | undefined;
    private _widevine;
    get widevine(): TranscoderJobConfigEncryptionsDrmSystemsWidevineOutputReference;
    putWidevine(value: TranscoderJobConfigEncryptionsDrmSystemsWidevine): void;
    resetWidevine(): void;
    get widevineInput(): TranscoderJobConfigEncryptionsDrmSystemsWidevine | undefined;
}
export interface TranscoderJobConfigEncryptionsMpegCenc {
    /**
    * Specify the encryption scheme.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#scheme TranscoderJob#scheme}
    */
    readonly scheme: string;
}
export declare function transcoderJobConfigEncryptionsMpegCencToTerraform(struct?: TranscoderJobConfigEncryptionsMpegCencOutputReference | TranscoderJobConfigEncryptionsMpegCenc): any;
export declare function transcoderJobConfigEncryptionsMpegCencToHclTerraform(struct?: TranscoderJobConfigEncryptionsMpegCencOutputReference | TranscoderJobConfigEncryptionsMpegCenc): any;
export declare class TranscoderJobConfigEncryptionsMpegCencOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigEncryptionsMpegCenc | undefined;
    set internalValue(value: TranscoderJobConfigEncryptionsMpegCenc | undefined);
    private _scheme?;
    get scheme(): string;
    set scheme(value: string);
    get schemeInput(): string | undefined;
}
export interface TranscoderJobConfigEncryptionsSampleAes {
}
export declare function transcoderJobConfigEncryptionsSampleAesToTerraform(struct?: TranscoderJobConfigEncryptionsSampleAesOutputReference | TranscoderJobConfigEncryptionsSampleAes): any;
export declare function transcoderJobConfigEncryptionsSampleAesToHclTerraform(struct?: TranscoderJobConfigEncryptionsSampleAesOutputReference | TranscoderJobConfigEncryptionsSampleAes): any;
export declare class TranscoderJobConfigEncryptionsSampleAesOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigEncryptionsSampleAes | undefined;
    set internalValue(value: TranscoderJobConfigEncryptionsSampleAes | undefined);
}
export interface TranscoderJobConfigEncryptionsSecretManagerKeySource {
    /**
    * The name of the Secret Version containing the encryption key in the following format: projects/{project}/secrets/{secret_id}/versions/{version_number}.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#secret_version TranscoderJob#secret_version}
    */
    readonly secretVersion: string;
}
export declare function transcoderJobConfigEncryptionsSecretManagerKeySourceToTerraform(struct?: TranscoderJobConfigEncryptionsSecretManagerKeySourceOutputReference | TranscoderJobConfigEncryptionsSecretManagerKeySource): any;
export declare function transcoderJobConfigEncryptionsSecretManagerKeySourceToHclTerraform(struct?: TranscoderJobConfigEncryptionsSecretManagerKeySourceOutputReference | TranscoderJobConfigEncryptionsSecretManagerKeySource): any;
export declare class TranscoderJobConfigEncryptionsSecretManagerKeySourceOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigEncryptionsSecretManagerKeySource | undefined;
    set internalValue(value: TranscoderJobConfigEncryptionsSecretManagerKeySource | undefined);
    private _secretVersion?;
    get secretVersion(): string;
    set secretVersion(value: string);
    get secretVersionInput(): string | undefined;
}
export interface TranscoderJobConfigEncryptions {
    /**
    * Identifier for this set of encryption options.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#id TranscoderJob#id}
    *
    * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
    * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
    */
    readonly id: string;
    /**
    * aes128 block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#aes128 TranscoderJob#aes128}
    */
    readonly aes128?: TranscoderJobConfigEncryptionsAes128;
    /**
    * drm_systems block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#drm_systems TranscoderJob#drm_systems}
    */
    readonly drmSystems?: TranscoderJobConfigEncryptionsDrmSystems;
    /**
    * mpeg_cenc block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#mpeg_cenc TranscoderJob#mpeg_cenc}
    */
    readonly mpegCenc?: TranscoderJobConfigEncryptionsMpegCenc;
    /**
    * sample_aes block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#sample_aes TranscoderJob#sample_aes}
    */
    readonly sampleAes?: TranscoderJobConfigEncryptionsSampleAes;
    /**
    * secret_manager_key_source block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#secret_manager_key_source TranscoderJob#secret_manager_key_source}
    */
    readonly secretManagerKeySource?: TranscoderJobConfigEncryptionsSecretManagerKeySource;
}
export declare function transcoderJobConfigEncryptionsToTerraform(struct?: TranscoderJobConfigEncryptions | cdktf.IResolvable): any;
export declare function transcoderJobConfigEncryptionsToHclTerraform(struct?: TranscoderJobConfigEncryptions | cdktf.IResolvable): any;
export declare class TranscoderJobConfigEncryptionsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): TranscoderJobConfigEncryptions | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobConfigEncryptions | cdktf.IResolvable | undefined);
    private _id?;
    get id(): string;
    set id(value: string);
    get idInput(): string | undefined;
    private _aes128;
    get aes128(): TranscoderJobConfigEncryptionsAes128OutputReference;
    putAes128(value: TranscoderJobConfigEncryptionsAes128): void;
    resetAes128(): void;
    get aes128Input(): TranscoderJobConfigEncryptionsAes128 | undefined;
    private _drmSystems;
    get drmSystems(): TranscoderJobConfigEncryptionsDrmSystemsOutputReference;
    putDrmSystems(value: TranscoderJobConfigEncryptionsDrmSystems): void;
    resetDrmSystems(): void;
    get drmSystemsInput(): TranscoderJobConfigEncryptionsDrmSystems | undefined;
    private _mpegCenc;
    get mpegCenc(): TranscoderJobConfigEncryptionsMpegCencOutputReference;
    putMpegCenc(value: TranscoderJobConfigEncryptionsMpegCenc): void;
    resetMpegCenc(): void;
    get mpegCencInput(): TranscoderJobConfigEncryptionsMpegCenc | undefined;
    private _sampleAes;
    get sampleAes(): TranscoderJobConfigEncryptionsSampleAesOutputReference;
    putSampleAes(value: TranscoderJobConfigEncryptionsSampleAes): void;
    resetSampleAes(): void;
    get sampleAesInput(): TranscoderJobConfigEncryptionsSampleAes | undefined;
    private _secretManagerKeySource;
    get secretManagerKeySource(): TranscoderJobConfigEncryptionsSecretManagerKeySourceOutputReference;
    putSecretManagerKeySource(value: TranscoderJobConfigEncryptionsSecretManagerKeySource): void;
    resetSecretManagerKeySource(): void;
    get secretManagerKeySourceInput(): TranscoderJobConfigEncryptionsSecretManagerKeySource | undefined;
}
export declare class TranscoderJobConfigEncryptionsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: TranscoderJobConfigEncryptions[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): TranscoderJobConfigEncryptionsOutputReference;
}
export interface TranscoderJobConfigInputs {
    /**
    * A unique key for this input. Must be specified when using advanced mapping and edit lists.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#key TranscoderJob#key}
    */
    readonly key?: string;
    /**
    * URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, gs://bucket/inputs/file.mp4).
    * If empty, the value is populated from Job.input_uri.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#uri TranscoderJob#uri}
    */
    readonly uri?: string;
}
export declare function transcoderJobConfigInputsToTerraform(struct?: TranscoderJobConfigInputs | cdktf.IResolvable): any;
export declare function transcoderJobConfigInputsToHclTerraform(struct?: TranscoderJobConfigInputs | cdktf.IResolvable): any;
export declare class TranscoderJobConfigInputsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): TranscoderJobConfigInputs | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobConfigInputs | cdktf.IResolvable | undefined);
    private _key?;
    get key(): string;
    set key(value: string);
    resetKey(): void;
    get keyInput(): string | undefined;
    private _uri?;
    get uri(): string;
    set uri(value: string);
    resetUri(): void;
    get uriInput(): string | undefined;
}
export declare class TranscoderJobConfigInputsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: TranscoderJobConfigInputs[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): TranscoderJobConfigInputsOutputReference;
}
export interface TranscoderJobConfigManifests {
    /**
    * The name of the generated file. The default is 'manifest'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#file_name TranscoderJob#file_name}
    */
    readonly fileName?: string;
    /**
    * List of user supplied MuxStream.key values that should appear in this manifest.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#mux_streams TranscoderJob#mux_streams}
    */
    readonly muxStreams?: string[];
    /**
    * Type of the manifest. Possible values: ["MANIFEST_TYPE_UNSPECIFIED", "HLS", "DASH"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#type TranscoderJob#type}
    */
    readonly type?: string;
}
export declare function transcoderJobConfigManifestsToTerraform(struct?: TranscoderJobConfigManifests | cdktf.IResolvable): any;
export declare function transcoderJobConfigManifestsToHclTerraform(struct?: TranscoderJobConfigManifests | cdktf.IResolvable): any;
export declare class TranscoderJobConfigManifestsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): TranscoderJobConfigManifests | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobConfigManifests | cdktf.IResolvable | undefined);
    private _fileName?;
    get fileName(): string;
    set fileName(value: string);
    resetFileName(): void;
    get fileNameInput(): string | undefined;
    private _muxStreams?;
    get muxStreams(): string[];
    set muxStreams(value: string[]);
    resetMuxStreams(): void;
    get muxStreamsInput(): string[] | undefined;
    private _type?;
    get type(): string;
    set type(value: string);
    resetType(): void;
    get typeInput(): string | undefined;
}
export declare class TranscoderJobConfigManifestsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: TranscoderJobConfigManifests[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): TranscoderJobConfigManifestsOutputReference;
}
export interface TranscoderJobConfigMuxStreamsSegmentSettings {
    /**
    * Duration of the segments in seconds. The default is '6.0s'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#segment_duration TranscoderJob#segment_duration}
    */
    readonly segmentDuration?: string;
}
export declare function transcoderJobConfigMuxStreamsSegmentSettingsToTerraform(struct?: TranscoderJobConfigMuxStreamsSegmentSettingsOutputReference | TranscoderJobConfigMuxStreamsSegmentSettings): any;
export declare function transcoderJobConfigMuxStreamsSegmentSettingsToHclTerraform(struct?: TranscoderJobConfigMuxStreamsSegmentSettingsOutputReference | TranscoderJobConfigMuxStreamsSegmentSettings): any;
export declare class TranscoderJobConfigMuxStreamsSegmentSettingsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigMuxStreamsSegmentSettings | undefined;
    set internalValue(value: TranscoderJobConfigMuxStreamsSegmentSettings | undefined);
    private _segmentDuration?;
    get segmentDuration(): string;
    set segmentDuration(value: string);
    resetSegmentDuration(): void;
    get segmentDurationInput(): string | undefined;
}
export interface TranscoderJobConfigMuxStreams {
    /**
    * The container format. The default is 'mp4'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#container TranscoderJob#container}
    */
    readonly container?: string;
    /**
    * List of ElementaryStream.key values multiplexed in this stream.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#elementary_streams TranscoderJob#elementary_streams}
    */
    readonly elementaryStreams?: string[];
    /**
    * Identifier of the encryption configuration to use.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#encryption_id TranscoderJob#encryption_id}
    */
    readonly encryptionId?: string;
    /**
    * The name of the generated file.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#file_name TranscoderJob#file_name}
    */
    readonly fileName?: string;
    /**
    * A unique key for this multiplexed stream.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#key TranscoderJob#key}
    */
    readonly key?: string;
    /**
    * segment_settings block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#segment_settings TranscoderJob#segment_settings}
    */
    readonly segmentSettings?: TranscoderJobConfigMuxStreamsSegmentSettings;
}
export declare function transcoderJobConfigMuxStreamsToTerraform(struct?: TranscoderJobConfigMuxStreams | cdktf.IResolvable): any;
export declare function transcoderJobConfigMuxStreamsToHclTerraform(struct?: TranscoderJobConfigMuxStreams | cdktf.IResolvable): any;
export declare class TranscoderJobConfigMuxStreamsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): TranscoderJobConfigMuxStreams | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobConfigMuxStreams | cdktf.IResolvable | undefined);
    private _container?;
    get container(): string;
    set container(value: string);
    resetContainer(): void;
    get containerInput(): string | undefined;
    private _elementaryStreams?;
    get elementaryStreams(): string[];
    set elementaryStreams(value: string[]);
    resetElementaryStreams(): void;
    get elementaryStreamsInput(): string[] | undefined;
    private _encryptionId?;
    get encryptionId(): string;
    set encryptionId(value: string);
    resetEncryptionId(): void;
    get encryptionIdInput(): string | undefined;
    private _fileName?;
    get fileName(): string;
    set fileName(value: string);
    resetFileName(): void;
    get fileNameInput(): string | undefined;
    private _key?;
    get key(): string;
    set key(value: string);
    resetKey(): void;
    get keyInput(): string | undefined;
    private _segmentSettings;
    get segmentSettings(): TranscoderJobConfigMuxStreamsSegmentSettingsOutputReference;
    putSegmentSettings(value: TranscoderJobConfigMuxStreamsSegmentSettings): void;
    resetSegmentSettings(): void;
    get segmentSettingsInput(): TranscoderJobConfigMuxStreamsSegmentSettings | undefined;
}
export declare class TranscoderJobConfigMuxStreamsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: TranscoderJobConfigMuxStreams[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): TranscoderJobConfigMuxStreamsOutputReference;
}
export interface TranscoderJobConfigOutput {
    /**
    * URI for the output file(s). For example, gs://my-bucket/outputs/.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#uri TranscoderJob#uri}
    */
    readonly uri?: string;
}
export declare function transcoderJobConfigOutputToTerraform(struct?: TranscoderJobConfigOutputOutputReference | TranscoderJobConfigOutput): any;
export declare function transcoderJobConfigOutputToHclTerraform(struct?: TranscoderJobConfigOutputOutputReference | TranscoderJobConfigOutput): any;
export declare class TranscoderJobConfigOutputOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigOutput | undefined;
    set internalValue(value: TranscoderJobConfigOutput | undefined);
    private _uri?;
    get uri(): string;
    set uri(value: string);
    resetUri(): void;
    get uriInput(): string | undefined;
}
export interface TranscoderJobConfigOverlaysAnimationsAnimationFadeXy {
    /**
    * Normalized x coordinate.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#x TranscoderJob#x}
    */
    readonly x?: number;
    /**
    * Normalized y coordinate.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#y TranscoderJob#y}
    */
    readonly y?: number;
}
export declare function transcoderJobConfigOverlaysAnimationsAnimationFadeXyToTerraform(struct?: TranscoderJobConfigOverlaysAnimationsAnimationFadeXyOutputReference | TranscoderJobConfigOverlaysAnimationsAnimationFadeXy): any;
export declare function transcoderJobConfigOverlaysAnimationsAnimationFadeXyToHclTerraform(struct?: TranscoderJobConfigOverlaysAnimationsAnimationFadeXyOutputReference | TranscoderJobConfigOverlaysAnimationsAnimationFadeXy): any;
export declare class TranscoderJobConfigOverlaysAnimationsAnimationFadeXyOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigOverlaysAnimationsAnimationFadeXy | undefined;
    set internalValue(value: TranscoderJobConfigOverlaysAnimationsAnimationFadeXy | undefined);
    private _x?;
    get x(): number;
    set x(value: number);
    resetX(): void;
    get xInput(): number | undefined;
    private _y?;
    get y(): number;
    set y(value: number);
    resetY(): void;
    get yInput(): number | undefined;
}
export interface TranscoderJobConfigOverlaysAnimationsAnimationFade {
    /**
    * The time to end the fade animation, in seconds.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#end_time_offset TranscoderJob#end_time_offset}
    */
    readonly endTimeOffset?: string;
    /**
    * Required. Type of fade animation: 'FADE_IN' or 'FADE_OUT'.
    * The possible values are:
    *
    * * 'FADE_TYPE_UNSPECIFIED': The fade type is not specified.
    *
    * * 'FADE_IN': Fade the overlay object into view.
    *
    * * 'FADE_OUT': Fade the overlay object out of view. Possible values: ["FADE_TYPE_UNSPECIFIED", "FADE_IN", "FADE_OUT"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#fade_type TranscoderJob#fade_type}
    */
    readonly fadeType: string;
    /**
    * The time to start the fade animation, in seconds.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#start_time_offset TranscoderJob#start_time_offset}
    */
    readonly startTimeOffset?: string;
    /**
    * xy block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#xy TranscoderJob#xy}
    */
    readonly xy?: TranscoderJobConfigOverlaysAnimationsAnimationFadeXy;
}
export declare function transcoderJobConfigOverlaysAnimationsAnimationFadeToTerraform(struct?: TranscoderJobConfigOverlaysAnimationsAnimationFadeOutputReference | TranscoderJobConfigOverlaysAnimationsAnimationFade): any;
export declare function transcoderJobConfigOverlaysAnimationsAnimationFadeToHclTerraform(struct?: TranscoderJobConfigOverlaysAnimationsAnimationFadeOutputReference | TranscoderJobConfigOverlaysAnimationsAnimationFade): any;
export declare class TranscoderJobConfigOverlaysAnimationsAnimationFadeOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigOverlaysAnimationsAnimationFade | undefined;
    set internalValue(value: TranscoderJobConfigOverlaysAnimationsAnimationFade | undefined);
    private _endTimeOffset?;
    get endTimeOffset(): string;
    set endTimeOffset(value: string);
    resetEndTimeOffset(): void;
    get endTimeOffsetInput(): string | undefined;
    private _fadeType?;
    get fadeType(): string;
    set fadeType(value: string);
    get fadeTypeInput(): string | undefined;
    private _startTimeOffset?;
    get startTimeOffset(): string;
    set startTimeOffset(value: string);
    resetStartTimeOffset(): void;
    get startTimeOffsetInput(): string | undefined;
    private _xy;
    get xy(): TranscoderJobConfigOverlaysAnimationsAnimationFadeXyOutputReference;
    putXy(value: TranscoderJobConfigOverlaysAnimationsAnimationFadeXy): void;
    resetXy(): void;
    get xyInput(): TranscoderJobConfigOverlaysAnimationsAnimationFadeXy | undefined;
}
export interface TranscoderJobConfigOverlaysAnimations {
    /**
    * animation_fade block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#animation_fade TranscoderJob#animation_fade}
    */
    readonly animationFade?: TranscoderJobConfigOverlaysAnimationsAnimationFade;
}
export declare function transcoderJobConfigOverlaysAnimationsToTerraform(struct?: TranscoderJobConfigOverlaysAnimations | cdktf.IResolvable): any;
export declare function transcoderJobConfigOverlaysAnimationsToHclTerraform(struct?: TranscoderJobConfigOverlaysAnimations | cdktf.IResolvable): any;
export declare class TranscoderJobConfigOverlaysAnimationsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): TranscoderJobConfigOverlaysAnimations | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobConfigOverlaysAnimations | cdktf.IResolvable | undefined);
    private _animationFade;
    get animationFade(): TranscoderJobConfigOverlaysAnimationsAnimationFadeOutputReference;
    putAnimationFade(value: TranscoderJobConfigOverlaysAnimationsAnimationFade): void;
    resetAnimationFade(): void;
    get animationFadeInput(): TranscoderJobConfigOverlaysAnimationsAnimationFade | undefined;
}
export declare class TranscoderJobConfigOverlaysAnimationsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: TranscoderJobConfigOverlaysAnimations[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): TranscoderJobConfigOverlaysAnimationsOutputReference;
}
export interface TranscoderJobConfigOverlaysImage {
    /**
    * URI of the image in Cloud Storage. For example, gs://bucket/inputs/image.png.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#uri TranscoderJob#uri}
    */
    readonly uri: string;
}
export declare function transcoderJobConfigOverlaysImageToTerraform(struct?: TranscoderJobConfigOverlaysImageOutputReference | TranscoderJobConfigOverlaysImage): any;
export declare function transcoderJobConfigOverlaysImageToHclTerraform(struct?: TranscoderJobConfigOverlaysImageOutputReference | TranscoderJobConfigOverlaysImage): any;
export declare class TranscoderJobConfigOverlaysImageOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigOverlaysImage | undefined;
    set internalValue(value: TranscoderJobConfigOverlaysImage | undefined);
    private _uri?;
    get uri(): string;
    set uri(value: string);
    get uriInput(): string | undefined;
}
export interface TranscoderJobConfigOverlays {
    /**
    * animations block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#animations TranscoderJob#animations}
    */
    readonly animations?: TranscoderJobConfigOverlaysAnimations[] | cdktf.IResolvable;
    /**
    * image block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#image TranscoderJob#image}
    */
    readonly image?: TranscoderJobConfigOverlaysImage;
}
export declare function transcoderJobConfigOverlaysToTerraform(struct?: TranscoderJobConfigOverlays | cdktf.IResolvable): any;
export declare function transcoderJobConfigOverlaysToHclTerraform(struct?: TranscoderJobConfigOverlays | cdktf.IResolvable): any;
export declare class TranscoderJobConfigOverlaysOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): TranscoderJobConfigOverlays | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobConfigOverlays | cdktf.IResolvable | undefined);
    private _animations;
    get animations(): TranscoderJobConfigOverlaysAnimationsList;
    putAnimations(value: TranscoderJobConfigOverlaysAnimations[] | cdktf.IResolvable): void;
    resetAnimations(): void;
    get animationsInput(): cdktf.IResolvable | TranscoderJobConfigOverlaysAnimations[] | undefined;
    private _image;
    get image(): TranscoderJobConfigOverlaysImageOutputReference;
    putImage(value: TranscoderJobConfigOverlaysImage): void;
    resetImage(): void;
    get imageInput(): TranscoderJobConfigOverlaysImage | undefined;
}
export declare class TranscoderJobConfigOverlaysList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: TranscoderJobConfigOverlays[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): TranscoderJobConfigOverlaysOutputReference;
}
export interface TranscoderJobConfigPubsubDestination {
    /**
    * The name of the Pub/Sub topic to publish job completion notification to. For example: projects/{project}/topics/{topic}.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#topic TranscoderJob#topic}
    */
    readonly topic?: string;
}
export declare function transcoderJobConfigPubsubDestinationToTerraform(struct?: TranscoderJobConfigPubsubDestinationOutputReference | TranscoderJobConfigPubsubDestination): any;
export declare function transcoderJobConfigPubsubDestinationToHclTerraform(struct?: TranscoderJobConfigPubsubDestinationOutputReference | TranscoderJobConfigPubsubDestination): any;
export declare class TranscoderJobConfigPubsubDestinationOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigPubsubDestination | undefined;
    set internalValue(value: TranscoderJobConfigPubsubDestination | undefined);
    private _topic?;
    get topic(): string;
    set topic(value: string);
    resetTopic(): void;
    get topicInput(): string | undefined;
}
export interface TranscoderJobConfigA {
    /**
    * ad_breaks block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#ad_breaks TranscoderJob#ad_breaks}
    */
    readonly adBreaks?: TranscoderJobConfigAdBreaks[] | cdktf.IResolvable;
    /**
    * edit_list block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#edit_list TranscoderJob#edit_list}
    */
    readonly editList?: TranscoderJobConfigEditListStruct[] | cdktf.IResolvable;
    /**
    * elementary_streams block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#elementary_streams TranscoderJob#elementary_streams}
    */
    readonly elementaryStreams?: TranscoderJobConfigElementaryStreams[] | cdktf.IResolvable;
    /**
    * encryptions block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#encryptions TranscoderJob#encryptions}
    */
    readonly encryptions?: TranscoderJobConfigEncryptions[] | cdktf.IResolvable;
    /**
    * inputs block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#inputs TranscoderJob#inputs}
    */
    readonly inputs?: TranscoderJobConfigInputs[] | cdktf.IResolvable;
    /**
    * manifests block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#manifests TranscoderJob#manifests}
    */
    readonly manifests?: TranscoderJobConfigManifests[] | cdktf.IResolvable;
    /**
    * mux_streams block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#mux_streams TranscoderJob#mux_streams}
    */
    readonly muxStreams?: TranscoderJobConfigMuxStreams[] | cdktf.IResolvable;
    /**
    * output block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#output TranscoderJob#output}
    */
    readonly output?: TranscoderJobConfigOutput;
    /**
    * overlays block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#overlays TranscoderJob#overlays}
    */
    readonly overlays?: TranscoderJobConfigOverlays[] | cdktf.IResolvable;
    /**
    * pubsub_destination block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#pubsub_destination TranscoderJob#pubsub_destination}
    */
    readonly pubsubDestination?: TranscoderJobConfigPubsubDestination;
}
export declare function transcoderJobConfigAToTerraform(struct?: TranscoderJobConfigAOutputReference | TranscoderJobConfigA): any;
export declare function transcoderJobConfigAToHclTerraform(struct?: TranscoderJobConfigAOutputReference | TranscoderJobConfigA): any;
export declare class TranscoderJobConfigAOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobConfigA | undefined;
    set internalValue(value: TranscoderJobConfigA | undefined);
    private _adBreaks;
    get adBreaks(): TranscoderJobConfigAdBreaksList;
    putAdBreaks(value: TranscoderJobConfigAdBreaks[] | cdktf.IResolvable): void;
    resetAdBreaks(): void;
    get adBreaksInput(): cdktf.IResolvable | TranscoderJobConfigAdBreaks[] | undefined;
    private _editList;
    get editList(): TranscoderJobConfigEditListStructList;
    putEditList(value: TranscoderJobConfigEditListStruct[] | cdktf.IResolvable): void;
    resetEditList(): void;
    get editListInput(): cdktf.IResolvable | TranscoderJobConfigEditListStruct[] | undefined;
    private _elementaryStreams;
    get elementaryStreams(): TranscoderJobConfigElementaryStreamsList;
    putElementaryStreams(value: TranscoderJobConfigElementaryStreams[] | cdktf.IResolvable): void;
    resetElementaryStreams(): void;
    get elementaryStreamsInput(): cdktf.IResolvable | TranscoderJobConfigElementaryStreams[] | undefined;
    private _encryptions;
    get encryptions(): TranscoderJobConfigEncryptionsList;
    putEncryptions(value: TranscoderJobConfigEncryptions[] | cdktf.IResolvable): void;
    resetEncryptions(): void;
    get encryptionsInput(): cdktf.IResolvable | TranscoderJobConfigEncryptions[] | undefined;
    private _inputs;
    get inputs(): TranscoderJobConfigInputsList;
    putInputs(value: TranscoderJobConfigInputs[] | cdktf.IResolvable): void;
    resetInputs(): void;
    get inputsInput(): cdktf.IResolvable | TranscoderJobConfigInputs[] | undefined;
    private _manifests;
    get manifests(): TranscoderJobConfigManifestsList;
    putManifests(value: TranscoderJobConfigManifests[] | cdktf.IResolvable): void;
    resetManifests(): void;
    get manifestsInput(): cdktf.IResolvable | TranscoderJobConfigManifests[] | undefined;
    private _muxStreams;
    get muxStreams(): TranscoderJobConfigMuxStreamsList;
    putMuxStreams(value: TranscoderJobConfigMuxStreams[] | cdktf.IResolvable): void;
    resetMuxStreams(): void;
    get muxStreamsInput(): cdktf.IResolvable | TranscoderJobConfigMuxStreams[] | undefined;
    private _output;
    get output(): TranscoderJobConfigOutputOutputReference;
    putOutput(value: TranscoderJobConfigOutput): void;
    resetOutput(): void;
    get outputInput(): TranscoderJobConfigOutput | undefined;
    private _overlays;
    get overlays(): TranscoderJobConfigOverlaysList;
    putOverlays(value: TranscoderJobConfigOverlays[] | cdktf.IResolvable): void;
    resetOverlays(): void;
    get overlaysInput(): cdktf.IResolvable | TranscoderJobConfigOverlays[] | undefined;
    private _pubsubDestination;
    get pubsubDestination(): TranscoderJobConfigPubsubDestinationOutputReference;
    putPubsubDestination(value: TranscoderJobConfigPubsubDestination): void;
    resetPubsubDestination(): void;
    get pubsubDestinationInput(): TranscoderJobConfigPubsubDestination | undefined;
}
export interface TranscoderJobTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#create TranscoderJob#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#delete TranscoderJob#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#update TranscoderJob#update}
    */
    readonly update?: string;
}
export declare function transcoderJobTimeoutsToTerraform(struct?: TranscoderJobTimeouts | cdktf.IResolvable): any;
export declare function transcoderJobTimeoutsToHclTerraform(struct?: TranscoderJobTimeouts | cdktf.IResolvable): any;
export declare class TranscoderJobTimeoutsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): TranscoderJobTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobTimeouts | cdktf.IResolvable | undefined);
    private _create?;
    get create(): string;
    set create(value: string);
    resetCreate(): void;
    get createInput(): string | undefined;
    private _delete?;
    get delete(): string;
    set delete(value: string);
    resetDelete(): void;
    get deleteInput(): string | undefined;
    private _update?;
    get update(): string;
    set update(value: string);
    resetUpdate(): void;
    get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job google_transcoder_job}
*/
export declare class TranscoderJob extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_transcoder_job";
    /**
    * Generates CDKTF code for importing a TranscoderJob resource upon running "cdktf plan <stack-name>"
    * @param scope The scope in which to define this construct
    * @param importToId The construct id used in the generated config for the TranscoderJob to import
    * @param importFromId The id of the existing TranscoderJob that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the TranscoderJob to import is found
    */
    static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
    /**
    * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.35.0/docs/resources/transcoder_job google_transcoder_job} Resource
    *
    * @param scope The scope in which to define this construct
    * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
    * @param options TranscoderJobConfig
    */
    constructor(scope: Construct, id: string, config: TranscoderJobConfig);
    get createTime(): string;
    private _effectiveLabels;
    get effectiveLabels(): cdktf.StringMap;
    get endTime(): string;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _labels?;
    get labels(): {
        [key: string]: string;
    };
    set labels(value: {
        [key: string]: string;
    });
    resetLabels(): void;
    get labelsInput(): {
        [key: string]: string;
    } | undefined;
    private _location?;
    get location(): string;
    set location(value: string);
    get locationInput(): string | undefined;
    get name(): string;
    private _project?;
    get project(): string;
    set project(value: string);
    resetProject(): void;
    get projectInput(): string | undefined;
    get startTime(): string;
    get state(): string;
    private _templateId?;
    get templateId(): string;
    set templateId(value: string);
    resetTemplateId(): void;
    get templateIdInput(): string | undefined;
    private _terraformLabels;
    get terraformLabels(): cdktf.StringMap;
    private _config;
    get config(): TranscoderJobConfigAOutputReference;
    putConfig(value: TranscoderJobConfigA): void;
    resetConfig(): void;
    get configInput(): TranscoderJobConfigA | undefined;
    private _timeouts;
    get timeouts(): TranscoderJobTimeoutsOutputReference;
    putTimeouts(value: TranscoderJobTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | TranscoderJobTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
