/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface TranscoderJobTemplateConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#id TranscoderJobTemplate#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;
    /**
    * ID to use for the Transcoding job template.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#job_template_id TranscoderJobTemplate#job_template_id}
    */
    readonly jobTemplateId: string;
    /**
    * The labels associated with this job template. You can use these to organize and group your job templates.
    *
    *
    * **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.13.0/docs/resources/transcoder_job_template#labels TranscoderJobTemplate#labels}
    */
    readonly labels?: {
        [key: string]: string;
    };
    /**
    * The location of the transcoding job template resource.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#location TranscoderJobTemplate#location}
    */
    readonly location: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#project TranscoderJobTemplate#project}
    */
    readonly project?: string;
    /**
    * config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#config TranscoderJobTemplate#config}
    */
    readonly config?: TranscoderJobTemplateConfigA;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#timeouts TranscoderJobTemplate#timeouts}
    */
    readonly timeouts?: TranscoderJobTemplateTimeouts;
}
export interface TranscoderJobTemplateConfigAdBreaks {
    /**
    * 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.13.0/docs/resources/transcoder_job_template#start_time_offset TranscoderJobTemplate#start_time_offset}
    */
    readonly startTimeOffset?: string;
}
export declare function transcoderJobTemplateConfigAdBreaksToTerraform(struct?: TranscoderJobTemplateConfigAdBreaks | cdktf.IResolvable): any;
export declare function transcoderJobTemplateConfigAdBreaksToHclTerraform(struct?: TranscoderJobTemplateConfigAdBreaks | cdktf.IResolvable): any;
export declare class TranscoderJobTemplateConfigAdBreaksOutputReference 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(): TranscoderJobTemplateConfigAdBreaks | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobTemplateConfigAdBreaks | cdktf.IResolvable | undefined);
    private _startTimeOffset?;
    get startTimeOffset(): string;
    set startTimeOffset(value: string);
    resetStartTimeOffset(): void;
    get startTimeOffsetInput(): string | undefined;
}
export declare class TranscoderJobTemplateConfigAdBreaksList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: TranscoderJobTemplateConfigAdBreaks[] | 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): TranscoderJobTemplateConfigAdBreaksOutputReference;
}
export interface TranscoderJobTemplateConfigEditListStruct {
    /**
    * 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.13.0/docs/resources/transcoder_job_template#inputs TranscoderJobTemplate#inputs}
    */
    readonly inputs?: string[];
    /**
    * A unique key for this atom.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#key TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#start_time_offset TranscoderJobTemplate#start_time_offset}
    */
    readonly startTimeOffset?: string;
}
export declare function transcoderJobTemplateConfigEditListStructToTerraform(struct?: TranscoderJobTemplateConfigEditListStruct | cdktf.IResolvable): any;
export declare function transcoderJobTemplateConfigEditListStructToHclTerraform(struct?: TranscoderJobTemplateConfigEditListStruct | cdktf.IResolvable): any;
export declare class TranscoderJobTemplateConfigEditListStructOutputReference 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(): TranscoderJobTemplateConfigEditListStruct | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobTemplateConfigEditListStruct | 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 TranscoderJobTemplateConfigEditListStructList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: TranscoderJobTemplateConfigEditListStruct[] | 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): TranscoderJobTemplateConfigEditListStructOutputReference;
}
export interface TranscoderJobTemplateConfigElementaryStreamsAudioStream {
    /**
    * Audio bitrate in bits per second.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#bitrate_bps TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#channel_count TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#channel_layout TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#codec TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#sample_rate_hertz TranscoderJobTemplate#sample_rate_hertz}
    */
    readonly sampleRateHertz?: number;
}
export declare function transcoderJobTemplateConfigElementaryStreamsAudioStreamToTerraform(struct?: TranscoderJobTemplateConfigElementaryStreamsAudioStreamOutputReference | TranscoderJobTemplateConfigElementaryStreamsAudioStream): any;
export declare function transcoderJobTemplateConfigElementaryStreamsAudioStreamToHclTerraform(struct?: TranscoderJobTemplateConfigElementaryStreamsAudioStreamOutputReference | TranscoderJobTemplateConfigElementaryStreamsAudioStream): any;
export declare class TranscoderJobTemplateConfigElementaryStreamsAudioStreamOutputReference 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(): TranscoderJobTemplateConfigElementaryStreamsAudioStream | undefined;
    set internalValue(value: TranscoderJobTemplateConfigElementaryStreamsAudioStream | 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 TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264Hlg {
}
export declare function transcoderJobTemplateConfigElementaryStreamsVideoStreamH264HlgToTerraform(struct?: TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264HlgOutputReference | TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264Hlg): any;
export declare function transcoderJobTemplateConfigElementaryStreamsVideoStreamH264HlgToHclTerraform(struct?: TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264HlgOutputReference | TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264Hlg): any;
export declare class TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264HlgOutputReference 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(): TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264Hlg | undefined;
    set internalValue(value: TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264Hlg | undefined);
}
export interface TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264Sdr {
}
export declare function transcoderJobTemplateConfigElementaryStreamsVideoStreamH264SdrToTerraform(struct?: TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264SdrOutputReference | TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264Sdr): any;
export declare function transcoderJobTemplateConfigElementaryStreamsVideoStreamH264SdrToHclTerraform(struct?: TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264SdrOutputReference | TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264Sdr): any;
export declare class TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264SdrOutputReference 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(): TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264Sdr | undefined;
    set internalValue(value: TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264Sdr | undefined);
}
export interface TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264 {
    /**
    * The video bitrate in bits per second.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#bitrate_bps TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#crf_level TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#entropy_coder TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#frame_rate TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#gop_duration TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#height_pixels TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#pixel_format TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#preset TranscoderJobTemplate#preset}
    */
    readonly preset?: string;
    /**
    * Enforces the specified codec profile.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#profile TranscoderJobTemplate#profile}
    */
    readonly profile?: string;
    /**
    * Specify the mode. The default is 'vbr'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#rate_control_mode TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#vbv_fullness_bits TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#vbv_size_bits TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#width_pixels TranscoderJobTemplate#width_pixels}
    */
    readonly widthPixels?: number;
    /**
    * hlg block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#hlg TranscoderJobTemplate#hlg}
    */
    readonly hlg?: TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264Hlg;
    /**
    * sdr block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#sdr TranscoderJobTemplate#sdr}
    */
    readonly sdr?: TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264Sdr;
}
export declare function transcoderJobTemplateConfigElementaryStreamsVideoStreamH264ToTerraform(struct?: TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264OutputReference | TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264): any;
export declare function transcoderJobTemplateConfigElementaryStreamsVideoStreamH264ToHclTerraform(struct?: TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264OutputReference | TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264): any;
export declare class TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264OutputReference 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(): TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264 | undefined;
    set internalValue(value: TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264 | 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(): TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264HlgOutputReference;
    putHlg(value: TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264Hlg): void;
    resetHlg(): void;
    get hlgInput(): TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264Hlg | undefined;
    private _sdr;
    get sdr(): TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264SdrOutputReference;
    putSdr(value: TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264Sdr): void;
    resetSdr(): void;
    get sdrInput(): TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264Sdr | undefined;
}
export interface TranscoderJobTemplateConfigElementaryStreamsVideoStream {
    /**
    * h264 block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#h264 TranscoderJobTemplate#h264}
    */
    readonly h264?: TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264;
}
export declare function transcoderJobTemplateConfigElementaryStreamsVideoStreamToTerraform(struct?: TranscoderJobTemplateConfigElementaryStreamsVideoStreamOutputReference | TranscoderJobTemplateConfigElementaryStreamsVideoStream): any;
export declare function transcoderJobTemplateConfigElementaryStreamsVideoStreamToHclTerraform(struct?: TranscoderJobTemplateConfigElementaryStreamsVideoStreamOutputReference | TranscoderJobTemplateConfigElementaryStreamsVideoStream): any;
export declare class TranscoderJobTemplateConfigElementaryStreamsVideoStreamOutputReference 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(): TranscoderJobTemplateConfigElementaryStreamsVideoStream | undefined;
    set internalValue(value: TranscoderJobTemplateConfigElementaryStreamsVideoStream | undefined);
    private _h264;
    get h264(): TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264OutputReference;
    putH264(value: TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264): void;
    resetH264(): void;
    get h264Input(): TranscoderJobTemplateConfigElementaryStreamsVideoStreamH264 | undefined;
}
export interface TranscoderJobTemplateConfigElementaryStreams {
    /**
    * A unique key for this atom.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#key TranscoderJobTemplate#key}
    */
    readonly key?: string;
    /**
    * audio_stream block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#audio_stream TranscoderJobTemplate#audio_stream}
    */
    readonly audioStream?: TranscoderJobTemplateConfigElementaryStreamsAudioStream;
    /**
    * video_stream block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#video_stream TranscoderJobTemplate#video_stream}
    */
    readonly videoStream?: TranscoderJobTemplateConfigElementaryStreamsVideoStream;
}
export declare function transcoderJobTemplateConfigElementaryStreamsToTerraform(struct?: TranscoderJobTemplateConfigElementaryStreams | cdktf.IResolvable): any;
export declare function transcoderJobTemplateConfigElementaryStreamsToHclTerraform(struct?: TranscoderJobTemplateConfigElementaryStreams | cdktf.IResolvable): any;
export declare class TranscoderJobTemplateConfigElementaryStreamsOutputReference 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(): TranscoderJobTemplateConfigElementaryStreams | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobTemplateConfigElementaryStreams | cdktf.IResolvable | undefined);
    private _key?;
    get key(): string;
    set key(value: string);
    resetKey(): void;
    get keyInput(): string | undefined;
    private _audioStream;
    get audioStream(): TranscoderJobTemplateConfigElementaryStreamsAudioStreamOutputReference;
    putAudioStream(value: TranscoderJobTemplateConfigElementaryStreamsAudioStream): void;
    resetAudioStream(): void;
    get audioStreamInput(): TranscoderJobTemplateConfigElementaryStreamsAudioStream | undefined;
    private _videoStream;
    get videoStream(): TranscoderJobTemplateConfigElementaryStreamsVideoStreamOutputReference;
    putVideoStream(value: TranscoderJobTemplateConfigElementaryStreamsVideoStream): void;
    resetVideoStream(): void;
    get videoStreamInput(): TranscoderJobTemplateConfigElementaryStreamsVideoStream | undefined;
}
export declare class TranscoderJobTemplateConfigElementaryStreamsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: TranscoderJobTemplateConfigElementaryStreams[] | 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): TranscoderJobTemplateConfigElementaryStreamsOutputReference;
}
export interface TranscoderJobTemplateConfigEncryptionsAes128 {
}
export declare function transcoderJobTemplateConfigEncryptionsAes128ToTerraform(struct?: TranscoderJobTemplateConfigEncryptionsAes128OutputReference | TranscoderJobTemplateConfigEncryptionsAes128): any;
export declare function transcoderJobTemplateConfigEncryptionsAes128ToHclTerraform(struct?: TranscoderJobTemplateConfigEncryptionsAes128OutputReference | TranscoderJobTemplateConfigEncryptionsAes128): any;
export declare class TranscoderJobTemplateConfigEncryptionsAes128OutputReference 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(): TranscoderJobTemplateConfigEncryptionsAes128 | undefined;
    set internalValue(value: TranscoderJobTemplateConfigEncryptionsAes128 | undefined);
}
export interface TranscoderJobTemplateConfigEncryptionsDrmSystemsClearkey {
}
export declare function transcoderJobTemplateConfigEncryptionsDrmSystemsClearkeyToTerraform(struct?: TranscoderJobTemplateConfigEncryptionsDrmSystemsClearkeyOutputReference | TranscoderJobTemplateConfigEncryptionsDrmSystemsClearkey): any;
export declare function transcoderJobTemplateConfigEncryptionsDrmSystemsClearkeyToHclTerraform(struct?: TranscoderJobTemplateConfigEncryptionsDrmSystemsClearkeyOutputReference | TranscoderJobTemplateConfigEncryptionsDrmSystemsClearkey): any;
export declare class TranscoderJobTemplateConfigEncryptionsDrmSystemsClearkeyOutputReference 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(): TranscoderJobTemplateConfigEncryptionsDrmSystemsClearkey | undefined;
    set internalValue(value: TranscoderJobTemplateConfigEncryptionsDrmSystemsClearkey | undefined);
}
export interface TranscoderJobTemplateConfigEncryptionsDrmSystemsFairplay {
}
export declare function transcoderJobTemplateConfigEncryptionsDrmSystemsFairplayToTerraform(struct?: TranscoderJobTemplateConfigEncryptionsDrmSystemsFairplayOutputReference | TranscoderJobTemplateConfigEncryptionsDrmSystemsFairplay): any;
export declare function transcoderJobTemplateConfigEncryptionsDrmSystemsFairplayToHclTerraform(struct?: TranscoderJobTemplateConfigEncryptionsDrmSystemsFairplayOutputReference | TranscoderJobTemplateConfigEncryptionsDrmSystemsFairplay): any;
export declare class TranscoderJobTemplateConfigEncryptionsDrmSystemsFairplayOutputReference 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(): TranscoderJobTemplateConfigEncryptionsDrmSystemsFairplay | undefined;
    set internalValue(value: TranscoderJobTemplateConfigEncryptionsDrmSystemsFairplay | undefined);
}
export interface TranscoderJobTemplateConfigEncryptionsDrmSystemsPlayready {
}
export declare function transcoderJobTemplateConfigEncryptionsDrmSystemsPlayreadyToTerraform(struct?: TranscoderJobTemplateConfigEncryptionsDrmSystemsPlayreadyOutputReference | TranscoderJobTemplateConfigEncryptionsDrmSystemsPlayready): any;
export declare function transcoderJobTemplateConfigEncryptionsDrmSystemsPlayreadyToHclTerraform(struct?: TranscoderJobTemplateConfigEncryptionsDrmSystemsPlayreadyOutputReference | TranscoderJobTemplateConfigEncryptionsDrmSystemsPlayready): any;
export declare class TranscoderJobTemplateConfigEncryptionsDrmSystemsPlayreadyOutputReference 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(): TranscoderJobTemplateConfigEncryptionsDrmSystemsPlayready | undefined;
    set internalValue(value: TranscoderJobTemplateConfigEncryptionsDrmSystemsPlayready | undefined);
}
export interface TranscoderJobTemplateConfigEncryptionsDrmSystemsWidevine {
}
export declare function transcoderJobTemplateConfigEncryptionsDrmSystemsWidevineToTerraform(struct?: TranscoderJobTemplateConfigEncryptionsDrmSystemsWidevineOutputReference | TranscoderJobTemplateConfigEncryptionsDrmSystemsWidevine): any;
export declare function transcoderJobTemplateConfigEncryptionsDrmSystemsWidevineToHclTerraform(struct?: TranscoderJobTemplateConfigEncryptionsDrmSystemsWidevineOutputReference | TranscoderJobTemplateConfigEncryptionsDrmSystemsWidevine): any;
export declare class TranscoderJobTemplateConfigEncryptionsDrmSystemsWidevineOutputReference 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(): TranscoderJobTemplateConfigEncryptionsDrmSystemsWidevine | undefined;
    set internalValue(value: TranscoderJobTemplateConfigEncryptionsDrmSystemsWidevine | undefined);
}
export interface TranscoderJobTemplateConfigEncryptionsDrmSystems {
    /**
    * clearkey block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#clearkey TranscoderJobTemplate#clearkey}
    */
    readonly clearkey?: TranscoderJobTemplateConfigEncryptionsDrmSystemsClearkey;
    /**
    * fairplay block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#fairplay TranscoderJobTemplate#fairplay}
    */
    readonly fairplay?: TranscoderJobTemplateConfigEncryptionsDrmSystemsFairplay;
    /**
    * playready block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#playready TranscoderJobTemplate#playready}
    */
    readonly playready?: TranscoderJobTemplateConfigEncryptionsDrmSystemsPlayready;
    /**
    * widevine block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#widevine TranscoderJobTemplate#widevine}
    */
    readonly widevine?: TranscoderJobTemplateConfigEncryptionsDrmSystemsWidevine;
}
export declare function transcoderJobTemplateConfigEncryptionsDrmSystemsToTerraform(struct?: TranscoderJobTemplateConfigEncryptionsDrmSystemsOutputReference | TranscoderJobTemplateConfigEncryptionsDrmSystems): any;
export declare function transcoderJobTemplateConfigEncryptionsDrmSystemsToHclTerraform(struct?: TranscoderJobTemplateConfigEncryptionsDrmSystemsOutputReference | TranscoderJobTemplateConfigEncryptionsDrmSystems): any;
export declare class TranscoderJobTemplateConfigEncryptionsDrmSystemsOutputReference 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(): TranscoderJobTemplateConfigEncryptionsDrmSystems | undefined;
    set internalValue(value: TranscoderJobTemplateConfigEncryptionsDrmSystems | undefined);
    private _clearkey;
    get clearkey(): TranscoderJobTemplateConfigEncryptionsDrmSystemsClearkeyOutputReference;
    putClearkey(value: TranscoderJobTemplateConfigEncryptionsDrmSystemsClearkey): void;
    resetClearkey(): void;
    get clearkeyInput(): TranscoderJobTemplateConfigEncryptionsDrmSystemsClearkey | undefined;
    private _fairplay;
    get fairplay(): TranscoderJobTemplateConfigEncryptionsDrmSystemsFairplayOutputReference;
    putFairplay(value: TranscoderJobTemplateConfigEncryptionsDrmSystemsFairplay): void;
    resetFairplay(): void;
    get fairplayInput(): TranscoderJobTemplateConfigEncryptionsDrmSystemsFairplay | undefined;
    private _playready;
    get playready(): TranscoderJobTemplateConfigEncryptionsDrmSystemsPlayreadyOutputReference;
    putPlayready(value: TranscoderJobTemplateConfigEncryptionsDrmSystemsPlayready): void;
    resetPlayready(): void;
    get playreadyInput(): TranscoderJobTemplateConfigEncryptionsDrmSystemsPlayready | undefined;
    private _widevine;
    get widevine(): TranscoderJobTemplateConfigEncryptionsDrmSystemsWidevineOutputReference;
    putWidevine(value: TranscoderJobTemplateConfigEncryptionsDrmSystemsWidevine): void;
    resetWidevine(): void;
    get widevineInput(): TranscoderJobTemplateConfigEncryptionsDrmSystemsWidevine | undefined;
}
export interface TranscoderJobTemplateConfigEncryptionsMpegCenc {
    /**
    * Specify the encryption scheme.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#scheme TranscoderJobTemplate#scheme}
    */
    readonly scheme: string;
}
export declare function transcoderJobTemplateConfigEncryptionsMpegCencToTerraform(struct?: TranscoderJobTemplateConfigEncryptionsMpegCencOutputReference | TranscoderJobTemplateConfigEncryptionsMpegCenc): any;
export declare function transcoderJobTemplateConfigEncryptionsMpegCencToHclTerraform(struct?: TranscoderJobTemplateConfigEncryptionsMpegCencOutputReference | TranscoderJobTemplateConfigEncryptionsMpegCenc): any;
export declare class TranscoderJobTemplateConfigEncryptionsMpegCencOutputReference 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(): TranscoderJobTemplateConfigEncryptionsMpegCenc | undefined;
    set internalValue(value: TranscoderJobTemplateConfigEncryptionsMpegCenc | undefined);
    private _scheme?;
    get scheme(): string;
    set scheme(value: string);
    get schemeInput(): string | undefined;
}
export interface TranscoderJobTemplateConfigEncryptionsSampleAes {
}
export declare function transcoderJobTemplateConfigEncryptionsSampleAesToTerraform(struct?: TranscoderJobTemplateConfigEncryptionsSampleAesOutputReference | TranscoderJobTemplateConfigEncryptionsSampleAes): any;
export declare function transcoderJobTemplateConfigEncryptionsSampleAesToHclTerraform(struct?: TranscoderJobTemplateConfigEncryptionsSampleAesOutputReference | TranscoderJobTemplateConfigEncryptionsSampleAes): any;
export declare class TranscoderJobTemplateConfigEncryptionsSampleAesOutputReference 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(): TranscoderJobTemplateConfigEncryptionsSampleAes | undefined;
    set internalValue(value: TranscoderJobTemplateConfigEncryptionsSampleAes | undefined);
}
export interface TranscoderJobTemplateConfigEncryptionsSecretManagerKeySource {
    /**
    * 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.13.0/docs/resources/transcoder_job_template#secret_version TranscoderJobTemplate#secret_version}
    */
    readonly secretVersion: string;
}
export declare function transcoderJobTemplateConfigEncryptionsSecretManagerKeySourceToTerraform(struct?: TranscoderJobTemplateConfigEncryptionsSecretManagerKeySourceOutputReference | TranscoderJobTemplateConfigEncryptionsSecretManagerKeySource): any;
export declare function transcoderJobTemplateConfigEncryptionsSecretManagerKeySourceToHclTerraform(struct?: TranscoderJobTemplateConfigEncryptionsSecretManagerKeySourceOutputReference | TranscoderJobTemplateConfigEncryptionsSecretManagerKeySource): any;
export declare class TranscoderJobTemplateConfigEncryptionsSecretManagerKeySourceOutputReference 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(): TranscoderJobTemplateConfigEncryptionsSecretManagerKeySource | undefined;
    set internalValue(value: TranscoderJobTemplateConfigEncryptionsSecretManagerKeySource | undefined);
    private _secretVersion?;
    get secretVersion(): string;
    set secretVersion(value: string);
    get secretVersionInput(): string | undefined;
}
export interface TranscoderJobTemplateConfigEncryptions {
    /**
    * Identifier for this set of encryption options.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#id TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#aes128 TranscoderJobTemplate#aes128}
    */
    readonly aes128?: TranscoderJobTemplateConfigEncryptionsAes128;
    /**
    * drm_systems block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#drm_systems TranscoderJobTemplate#drm_systems}
    */
    readonly drmSystems?: TranscoderJobTemplateConfigEncryptionsDrmSystems;
    /**
    * mpeg_cenc block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#mpeg_cenc TranscoderJobTemplate#mpeg_cenc}
    */
    readonly mpegCenc?: TranscoderJobTemplateConfigEncryptionsMpegCenc;
    /**
    * sample_aes block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#sample_aes TranscoderJobTemplate#sample_aes}
    */
    readonly sampleAes?: TranscoderJobTemplateConfigEncryptionsSampleAes;
    /**
    * secret_manager_key_source block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#secret_manager_key_source TranscoderJobTemplate#secret_manager_key_source}
    */
    readonly secretManagerKeySource?: TranscoderJobTemplateConfigEncryptionsSecretManagerKeySource;
}
export declare function transcoderJobTemplateConfigEncryptionsToTerraform(struct?: TranscoderJobTemplateConfigEncryptions | cdktf.IResolvable): any;
export declare function transcoderJobTemplateConfigEncryptionsToHclTerraform(struct?: TranscoderJobTemplateConfigEncryptions | cdktf.IResolvable): any;
export declare class TranscoderJobTemplateConfigEncryptionsOutputReference 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(): TranscoderJobTemplateConfigEncryptions | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobTemplateConfigEncryptions | cdktf.IResolvable | undefined);
    private _id?;
    get id(): string;
    set id(value: string);
    get idInput(): string | undefined;
    private _aes128;
    get aes128(): TranscoderJobTemplateConfigEncryptionsAes128OutputReference;
    putAes128(value: TranscoderJobTemplateConfigEncryptionsAes128): void;
    resetAes128(): void;
    get aes128Input(): TranscoderJobTemplateConfigEncryptionsAes128 | undefined;
    private _drmSystems;
    get drmSystems(): TranscoderJobTemplateConfigEncryptionsDrmSystemsOutputReference;
    putDrmSystems(value: TranscoderJobTemplateConfigEncryptionsDrmSystems): void;
    resetDrmSystems(): void;
    get drmSystemsInput(): TranscoderJobTemplateConfigEncryptionsDrmSystems | undefined;
    private _mpegCenc;
    get mpegCenc(): TranscoderJobTemplateConfigEncryptionsMpegCencOutputReference;
    putMpegCenc(value: TranscoderJobTemplateConfigEncryptionsMpegCenc): void;
    resetMpegCenc(): void;
    get mpegCencInput(): TranscoderJobTemplateConfigEncryptionsMpegCenc | undefined;
    private _sampleAes;
    get sampleAes(): TranscoderJobTemplateConfigEncryptionsSampleAesOutputReference;
    putSampleAes(value: TranscoderJobTemplateConfigEncryptionsSampleAes): void;
    resetSampleAes(): void;
    get sampleAesInput(): TranscoderJobTemplateConfigEncryptionsSampleAes | undefined;
    private _secretManagerKeySource;
    get secretManagerKeySource(): TranscoderJobTemplateConfigEncryptionsSecretManagerKeySourceOutputReference;
    putSecretManagerKeySource(value: TranscoderJobTemplateConfigEncryptionsSecretManagerKeySource): void;
    resetSecretManagerKeySource(): void;
    get secretManagerKeySourceInput(): TranscoderJobTemplateConfigEncryptionsSecretManagerKeySource | undefined;
}
export declare class TranscoderJobTemplateConfigEncryptionsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: TranscoderJobTemplateConfigEncryptions[] | 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): TranscoderJobTemplateConfigEncryptionsOutputReference;
}
export interface TranscoderJobTemplateConfigInputs {
    /**
    * 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.13.0/docs/resources/transcoder_job_template#key TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#uri TranscoderJobTemplate#uri}
    */
    readonly uri?: string;
}
export declare function transcoderJobTemplateConfigInputsToTerraform(struct?: TranscoderJobTemplateConfigInputs | cdktf.IResolvable): any;
export declare function transcoderJobTemplateConfigInputsToHclTerraform(struct?: TranscoderJobTemplateConfigInputs | cdktf.IResolvable): any;
export declare class TranscoderJobTemplateConfigInputsOutputReference 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(): TranscoderJobTemplateConfigInputs | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobTemplateConfigInputs | 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 TranscoderJobTemplateConfigInputsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: TranscoderJobTemplateConfigInputs[] | 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): TranscoderJobTemplateConfigInputsOutputReference;
}
export interface TranscoderJobTemplateConfigManifests {
    /**
    * The name of the generated file. The default is 'manifest'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#file_name TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#mux_streams TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#type TranscoderJobTemplate#type}
    */
    readonly type?: string;
}
export declare function transcoderJobTemplateConfigManifestsToTerraform(struct?: TranscoderJobTemplateConfigManifests | cdktf.IResolvable): any;
export declare function transcoderJobTemplateConfigManifestsToHclTerraform(struct?: TranscoderJobTemplateConfigManifests | cdktf.IResolvable): any;
export declare class TranscoderJobTemplateConfigManifestsOutputReference 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(): TranscoderJobTemplateConfigManifests | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobTemplateConfigManifests | 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 TranscoderJobTemplateConfigManifestsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: TranscoderJobTemplateConfigManifests[] | 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): TranscoderJobTemplateConfigManifestsOutputReference;
}
export interface TranscoderJobTemplateConfigMuxStreamsSegmentSettings {
    /**
    * Duration of the segments in seconds. The default is '6.0s'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#segment_duration TranscoderJobTemplate#segment_duration}
    */
    readonly segmentDuration?: string;
}
export declare function transcoderJobTemplateConfigMuxStreamsSegmentSettingsToTerraform(struct?: TranscoderJobTemplateConfigMuxStreamsSegmentSettingsOutputReference | TranscoderJobTemplateConfigMuxStreamsSegmentSettings): any;
export declare function transcoderJobTemplateConfigMuxStreamsSegmentSettingsToHclTerraform(struct?: TranscoderJobTemplateConfigMuxStreamsSegmentSettingsOutputReference | TranscoderJobTemplateConfigMuxStreamsSegmentSettings): any;
export declare class TranscoderJobTemplateConfigMuxStreamsSegmentSettingsOutputReference 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(): TranscoderJobTemplateConfigMuxStreamsSegmentSettings | undefined;
    set internalValue(value: TranscoderJobTemplateConfigMuxStreamsSegmentSettings | undefined);
    private _segmentDuration?;
    get segmentDuration(): string;
    set segmentDuration(value: string);
    resetSegmentDuration(): void;
    get segmentDurationInput(): string | undefined;
}
export interface TranscoderJobTemplateConfigMuxStreams {
    /**
    * The container format. The default is 'mp4'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#container TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#elementary_streams TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#encryption_id TranscoderJobTemplate#encryption_id}
    */
    readonly encryptionId?: string;
    /**
    * The name of the generated file.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#file_name TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#key TranscoderJobTemplate#key}
    */
    readonly key?: string;
    /**
    * segment_settings block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#segment_settings TranscoderJobTemplate#segment_settings}
    */
    readonly segmentSettings?: TranscoderJobTemplateConfigMuxStreamsSegmentSettings;
}
export declare function transcoderJobTemplateConfigMuxStreamsToTerraform(struct?: TranscoderJobTemplateConfigMuxStreams | cdktf.IResolvable): any;
export declare function transcoderJobTemplateConfigMuxStreamsToHclTerraform(struct?: TranscoderJobTemplateConfigMuxStreams | cdktf.IResolvable): any;
export declare class TranscoderJobTemplateConfigMuxStreamsOutputReference 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(): TranscoderJobTemplateConfigMuxStreams | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobTemplateConfigMuxStreams | 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(): TranscoderJobTemplateConfigMuxStreamsSegmentSettingsOutputReference;
    putSegmentSettings(value: TranscoderJobTemplateConfigMuxStreamsSegmentSettings): void;
    resetSegmentSettings(): void;
    get segmentSettingsInput(): TranscoderJobTemplateConfigMuxStreamsSegmentSettings | undefined;
}
export declare class TranscoderJobTemplateConfigMuxStreamsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: TranscoderJobTemplateConfigMuxStreams[] | 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): TranscoderJobTemplateConfigMuxStreamsOutputReference;
}
export interface TranscoderJobTemplateConfigOutput {
    /**
    * 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.13.0/docs/resources/transcoder_job_template#uri TranscoderJobTemplate#uri}
    */
    readonly uri?: string;
}
export declare function transcoderJobTemplateConfigOutputToTerraform(struct?: TranscoderJobTemplateConfigOutputOutputReference | TranscoderJobTemplateConfigOutput): any;
export declare function transcoderJobTemplateConfigOutputToHclTerraform(struct?: TranscoderJobTemplateConfigOutputOutputReference | TranscoderJobTemplateConfigOutput): any;
export declare class TranscoderJobTemplateConfigOutputOutputReference 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(): TranscoderJobTemplateConfigOutput | undefined;
    set internalValue(value: TranscoderJobTemplateConfigOutput | undefined);
    private _uri?;
    get uri(): string;
    set uri(value: string);
    resetUri(): void;
    get uriInput(): string | undefined;
}
export interface TranscoderJobTemplateConfigOverlaysAnimationsAnimationFadeXy {
    /**
    * Normalized x coordinate.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#x TranscoderJobTemplate#x}
    */
    readonly x?: number;
    /**
    * Normalized y coordinate.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#y TranscoderJobTemplate#y}
    */
    readonly y?: number;
}
export declare function transcoderJobTemplateConfigOverlaysAnimationsAnimationFadeXyToTerraform(struct?: TranscoderJobTemplateConfigOverlaysAnimationsAnimationFadeXyOutputReference | TranscoderJobTemplateConfigOverlaysAnimationsAnimationFadeXy): any;
export declare function transcoderJobTemplateConfigOverlaysAnimationsAnimationFadeXyToHclTerraform(struct?: TranscoderJobTemplateConfigOverlaysAnimationsAnimationFadeXyOutputReference | TranscoderJobTemplateConfigOverlaysAnimationsAnimationFadeXy): any;
export declare class TranscoderJobTemplateConfigOverlaysAnimationsAnimationFadeXyOutputReference 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(): TranscoderJobTemplateConfigOverlaysAnimationsAnimationFadeXy | undefined;
    set internalValue(value: TranscoderJobTemplateConfigOverlaysAnimationsAnimationFadeXy | 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 TranscoderJobTemplateConfigOverlaysAnimationsAnimationFade {
    /**
    * The time to end the fade animation, in seconds.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#end_time_offset TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#fade_type TranscoderJobTemplate#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.13.0/docs/resources/transcoder_job_template#start_time_offset TranscoderJobTemplate#start_time_offset}
    */
    readonly startTimeOffset?: string;
    /**
    * xy block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#xy TranscoderJobTemplate#xy}
    */
    readonly xy?: TranscoderJobTemplateConfigOverlaysAnimationsAnimationFadeXy;
}
export declare function transcoderJobTemplateConfigOverlaysAnimationsAnimationFadeToTerraform(struct?: TranscoderJobTemplateConfigOverlaysAnimationsAnimationFadeOutputReference | TranscoderJobTemplateConfigOverlaysAnimationsAnimationFade): any;
export declare function transcoderJobTemplateConfigOverlaysAnimationsAnimationFadeToHclTerraform(struct?: TranscoderJobTemplateConfigOverlaysAnimationsAnimationFadeOutputReference | TranscoderJobTemplateConfigOverlaysAnimationsAnimationFade): any;
export declare class TranscoderJobTemplateConfigOverlaysAnimationsAnimationFadeOutputReference 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(): TranscoderJobTemplateConfigOverlaysAnimationsAnimationFade | undefined;
    set internalValue(value: TranscoderJobTemplateConfigOverlaysAnimationsAnimationFade | 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(): TranscoderJobTemplateConfigOverlaysAnimationsAnimationFadeXyOutputReference;
    putXy(value: TranscoderJobTemplateConfigOverlaysAnimationsAnimationFadeXy): void;
    resetXy(): void;
    get xyInput(): TranscoderJobTemplateConfigOverlaysAnimationsAnimationFadeXy | undefined;
}
export interface TranscoderJobTemplateConfigOverlaysAnimations {
    /**
    * animation_fade block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#animation_fade TranscoderJobTemplate#animation_fade}
    */
    readonly animationFade?: TranscoderJobTemplateConfigOverlaysAnimationsAnimationFade;
}
export declare function transcoderJobTemplateConfigOverlaysAnimationsToTerraform(struct?: TranscoderJobTemplateConfigOverlaysAnimations | cdktf.IResolvable): any;
export declare function transcoderJobTemplateConfigOverlaysAnimationsToHclTerraform(struct?: TranscoderJobTemplateConfigOverlaysAnimations | cdktf.IResolvable): any;
export declare class TranscoderJobTemplateConfigOverlaysAnimationsOutputReference 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(): TranscoderJobTemplateConfigOverlaysAnimations | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobTemplateConfigOverlaysAnimations | cdktf.IResolvable | undefined);
    private _animationFade;
    get animationFade(): TranscoderJobTemplateConfigOverlaysAnimationsAnimationFadeOutputReference;
    putAnimationFade(value: TranscoderJobTemplateConfigOverlaysAnimationsAnimationFade): void;
    resetAnimationFade(): void;
    get animationFadeInput(): TranscoderJobTemplateConfigOverlaysAnimationsAnimationFade | undefined;
}
export declare class TranscoderJobTemplateConfigOverlaysAnimationsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: TranscoderJobTemplateConfigOverlaysAnimations[] | 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): TranscoderJobTemplateConfigOverlaysAnimationsOutputReference;
}
export interface TranscoderJobTemplateConfigOverlaysImage {
    /**
    * 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.13.0/docs/resources/transcoder_job_template#uri TranscoderJobTemplate#uri}
    */
    readonly uri: string;
}
export declare function transcoderJobTemplateConfigOverlaysImageToTerraform(struct?: TranscoderJobTemplateConfigOverlaysImageOutputReference | TranscoderJobTemplateConfigOverlaysImage): any;
export declare function transcoderJobTemplateConfigOverlaysImageToHclTerraform(struct?: TranscoderJobTemplateConfigOverlaysImageOutputReference | TranscoderJobTemplateConfigOverlaysImage): any;
export declare class TranscoderJobTemplateConfigOverlaysImageOutputReference 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(): TranscoderJobTemplateConfigOverlaysImage | undefined;
    set internalValue(value: TranscoderJobTemplateConfigOverlaysImage | undefined);
    private _uri?;
    get uri(): string;
    set uri(value: string);
    get uriInput(): string | undefined;
}
export interface TranscoderJobTemplateConfigOverlays {
    /**
    * animations block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#animations TranscoderJobTemplate#animations}
    */
    readonly animations?: TranscoderJobTemplateConfigOverlaysAnimations[] | cdktf.IResolvable;
    /**
    * image block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#image TranscoderJobTemplate#image}
    */
    readonly image?: TranscoderJobTemplateConfigOverlaysImage;
}
export declare function transcoderJobTemplateConfigOverlaysToTerraform(struct?: TranscoderJobTemplateConfigOverlays | cdktf.IResolvable): any;
export declare function transcoderJobTemplateConfigOverlaysToHclTerraform(struct?: TranscoderJobTemplateConfigOverlays | cdktf.IResolvable): any;
export declare class TranscoderJobTemplateConfigOverlaysOutputReference 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(): TranscoderJobTemplateConfigOverlays | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobTemplateConfigOverlays | cdktf.IResolvable | undefined);
    private _animations;
    get animations(): TranscoderJobTemplateConfigOverlaysAnimationsList;
    putAnimations(value: TranscoderJobTemplateConfigOverlaysAnimations[] | cdktf.IResolvable): void;
    resetAnimations(): void;
    get animationsInput(): cdktf.IResolvable | TranscoderJobTemplateConfigOverlaysAnimations[] | undefined;
    private _image;
    get image(): TranscoderJobTemplateConfigOverlaysImageOutputReference;
    putImage(value: TranscoderJobTemplateConfigOverlaysImage): void;
    resetImage(): void;
    get imageInput(): TranscoderJobTemplateConfigOverlaysImage | undefined;
}
export declare class TranscoderJobTemplateConfigOverlaysList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: TranscoderJobTemplateConfigOverlays[] | 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): TranscoderJobTemplateConfigOverlaysOutputReference;
}
export interface TranscoderJobTemplateConfigPubsubDestination {
    /**
    * 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.13.0/docs/resources/transcoder_job_template#topic TranscoderJobTemplate#topic}
    */
    readonly topic?: string;
}
export declare function transcoderJobTemplateConfigPubsubDestinationToTerraform(struct?: TranscoderJobTemplateConfigPubsubDestinationOutputReference | TranscoderJobTemplateConfigPubsubDestination): any;
export declare function transcoderJobTemplateConfigPubsubDestinationToHclTerraform(struct?: TranscoderJobTemplateConfigPubsubDestinationOutputReference | TranscoderJobTemplateConfigPubsubDestination): any;
export declare class TranscoderJobTemplateConfigPubsubDestinationOutputReference 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(): TranscoderJobTemplateConfigPubsubDestination | undefined;
    set internalValue(value: TranscoderJobTemplateConfigPubsubDestination | undefined);
    private _topic?;
    get topic(): string;
    set topic(value: string);
    resetTopic(): void;
    get topicInput(): string | undefined;
}
export interface TranscoderJobTemplateConfigA {
    /**
    * ad_breaks block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#ad_breaks TranscoderJobTemplate#ad_breaks}
    */
    readonly adBreaks?: TranscoderJobTemplateConfigAdBreaks[] | cdktf.IResolvable;
    /**
    * edit_list block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#edit_list TranscoderJobTemplate#edit_list}
    */
    readonly editList?: TranscoderJobTemplateConfigEditListStruct[] | cdktf.IResolvable;
    /**
    * elementary_streams block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#elementary_streams TranscoderJobTemplate#elementary_streams}
    */
    readonly elementaryStreams?: TranscoderJobTemplateConfigElementaryStreams[] | cdktf.IResolvable;
    /**
    * encryptions block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#encryptions TranscoderJobTemplate#encryptions}
    */
    readonly encryptions?: TranscoderJobTemplateConfigEncryptions[] | cdktf.IResolvable;
    /**
    * inputs block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#inputs TranscoderJobTemplate#inputs}
    */
    readonly inputs?: TranscoderJobTemplateConfigInputs[] | cdktf.IResolvable;
    /**
    * manifests block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#manifests TranscoderJobTemplate#manifests}
    */
    readonly manifests?: TranscoderJobTemplateConfigManifests[] | cdktf.IResolvable;
    /**
    * mux_streams block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#mux_streams TranscoderJobTemplate#mux_streams}
    */
    readonly muxStreams?: TranscoderJobTemplateConfigMuxStreams[] | cdktf.IResolvable;
    /**
    * output block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#output TranscoderJobTemplate#output}
    */
    readonly output?: TranscoderJobTemplateConfigOutput;
    /**
    * overlays block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#overlays TranscoderJobTemplate#overlays}
    */
    readonly overlays?: TranscoderJobTemplateConfigOverlays[] | cdktf.IResolvable;
    /**
    * pubsub_destination block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#pubsub_destination TranscoderJobTemplate#pubsub_destination}
    */
    readonly pubsubDestination?: TranscoderJobTemplateConfigPubsubDestination;
}
export declare function transcoderJobTemplateConfigAToTerraform(struct?: TranscoderJobTemplateConfigAOutputReference | TranscoderJobTemplateConfigA): any;
export declare function transcoderJobTemplateConfigAToHclTerraform(struct?: TranscoderJobTemplateConfigAOutputReference | TranscoderJobTemplateConfigA): any;
export declare class TranscoderJobTemplateConfigAOutputReference 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(): TranscoderJobTemplateConfigA | undefined;
    set internalValue(value: TranscoderJobTemplateConfigA | undefined);
    private _adBreaks;
    get adBreaks(): TranscoderJobTemplateConfigAdBreaksList;
    putAdBreaks(value: TranscoderJobTemplateConfigAdBreaks[] | cdktf.IResolvable): void;
    resetAdBreaks(): void;
    get adBreaksInput(): cdktf.IResolvable | TranscoderJobTemplateConfigAdBreaks[] | undefined;
    private _editList;
    get editList(): TranscoderJobTemplateConfigEditListStructList;
    putEditList(value: TranscoderJobTemplateConfigEditListStruct[] | cdktf.IResolvable): void;
    resetEditList(): void;
    get editListInput(): cdktf.IResolvable | TranscoderJobTemplateConfigEditListStruct[] | undefined;
    private _elementaryStreams;
    get elementaryStreams(): TranscoderJobTemplateConfigElementaryStreamsList;
    putElementaryStreams(value: TranscoderJobTemplateConfigElementaryStreams[] | cdktf.IResolvable): void;
    resetElementaryStreams(): void;
    get elementaryStreamsInput(): cdktf.IResolvable | TranscoderJobTemplateConfigElementaryStreams[] | undefined;
    private _encryptions;
    get encryptions(): TranscoderJobTemplateConfigEncryptionsList;
    putEncryptions(value: TranscoderJobTemplateConfigEncryptions[] | cdktf.IResolvable): void;
    resetEncryptions(): void;
    get encryptionsInput(): cdktf.IResolvable | TranscoderJobTemplateConfigEncryptions[] | undefined;
    private _inputs;
    get inputs(): TranscoderJobTemplateConfigInputsList;
    putInputs(value: TranscoderJobTemplateConfigInputs[] | cdktf.IResolvable): void;
    resetInputs(): void;
    get inputsInput(): cdktf.IResolvable | TranscoderJobTemplateConfigInputs[] | undefined;
    private _manifests;
    get manifests(): TranscoderJobTemplateConfigManifestsList;
    putManifests(value: TranscoderJobTemplateConfigManifests[] | cdktf.IResolvable): void;
    resetManifests(): void;
    get manifestsInput(): cdktf.IResolvable | TranscoderJobTemplateConfigManifests[] | undefined;
    private _muxStreams;
    get muxStreams(): TranscoderJobTemplateConfigMuxStreamsList;
    putMuxStreams(value: TranscoderJobTemplateConfigMuxStreams[] | cdktf.IResolvable): void;
    resetMuxStreams(): void;
    get muxStreamsInput(): cdktf.IResolvable | TranscoderJobTemplateConfigMuxStreams[] | undefined;
    private _output;
    get output(): TranscoderJobTemplateConfigOutputOutputReference;
    putOutput(value: TranscoderJobTemplateConfigOutput): void;
    resetOutput(): void;
    get outputInput(): TranscoderJobTemplateConfigOutput | undefined;
    private _overlays;
    get overlays(): TranscoderJobTemplateConfigOverlaysList;
    putOverlays(value: TranscoderJobTemplateConfigOverlays[] | cdktf.IResolvable): void;
    resetOverlays(): void;
    get overlaysInput(): cdktf.IResolvable | TranscoderJobTemplateConfigOverlays[] | undefined;
    private _pubsubDestination;
    get pubsubDestination(): TranscoderJobTemplateConfigPubsubDestinationOutputReference;
    putPubsubDestination(value: TranscoderJobTemplateConfigPubsubDestination): void;
    resetPubsubDestination(): void;
    get pubsubDestinationInput(): TranscoderJobTemplateConfigPubsubDestination | undefined;
}
export interface TranscoderJobTemplateTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#create TranscoderJobTemplate#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#delete TranscoderJobTemplate#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#update TranscoderJobTemplate#update}
    */
    readonly update?: string;
}
export declare function transcoderJobTemplateTimeoutsToTerraform(struct?: TranscoderJobTemplateTimeouts | cdktf.IResolvable): any;
export declare function transcoderJobTemplateTimeoutsToHclTerraform(struct?: TranscoderJobTemplateTimeouts | cdktf.IResolvable): any;
export declare class TranscoderJobTemplateTimeoutsOutputReference 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(): TranscoderJobTemplateTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: TranscoderJobTemplateTimeouts | 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.13.0/docs/resources/transcoder_job_template google_transcoder_job_template}
*/
export declare class TranscoderJobTemplate extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_transcoder_job_template";
    /**
    * Generates CDKTF code for importing a TranscoderJobTemplate 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 TranscoderJobTemplate to import
    * @param importFromId The id of the existing TranscoderJobTemplate that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/transcoder_job_template#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the TranscoderJobTemplate 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.13.0/docs/resources/transcoder_job_template google_transcoder_job_template} 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 TranscoderJobTemplateConfig
    */
    constructor(scope: Construct, id: string, config: TranscoderJobTemplateConfig);
    private _effectiveLabels;
    get effectiveLabels(): cdktf.StringMap;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _jobTemplateId?;
    get jobTemplateId(): string;
    set jobTemplateId(value: string);
    get jobTemplateIdInput(): 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;
    private _terraformLabels;
    get terraformLabels(): cdktf.StringMap;
    private _config;
    get config(): TranscoderJobTemplateConfigAOutputReference;
    putConfig(value: TranscoderJobTemplateConfigA): void;
    resetConfig(): void;
    get configInput(): TranscoderJobTemplateConfigA | undefined;
    private _timeouts;
    get timeouts(): TranscoderJobTemplateTimeoutsOutputReference;
    putTimeouts(value: TranscoderJobTemplateTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | TranscoderJobTemplateTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
