/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface StorageBatchOperationsJobConfig extends cdktf.TerraformMetaArguments {
    /**
    * If set to 'true', the storage batch operation job will not be deleted and new job will be created.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#delete_protection StorageBatchOperationsJob#delete_protection}
    */
    readonly deleteProtection?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#id StorageBatchOperationsJob#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 ID of the job.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#job_id StorageBatchOperationsJob#job_id}
    */
    readonly jobId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#project StorageBatchOperationsJob#project}
    */
    readonly project?: string;
    /**
    * bucket_list block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#bucket_list StorageBatchOperationsJob#bucket_list}
    */
    readonly bucketList?: StorageBatchOperationsJobBucketListStruct;
    /**
    * delete_object block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#delete_object StorageBatchOperationsJob#delete_object}
    */
    readonly deleteObject?: StorageBatchOperationsJobDeleteObject;
    /**
    * put_metadata block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#put_metadata StorageBatchOperationsJob#put_metadata}
    */
    readonly putMetadata?: StorageBatchOperationsJobPutMetadata;
    /**
    * put_object_hold block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#put_object_hold StorageBatchOperationsJob#put_object_hold}
    */
    readonly putObjectHold?: StorageBatchOperationsJobPutObjectHold;
    /**
    * rewrite_object block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#rewrite_object StorageBatchOperationsJob#rewrite_object}
    */
    readonly rewriteObject?: StorageBatchOperationsJobRewriteObject;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#timeouts StorageBatchOperationsJob#timeouts}
    */
    readonly timeouts?: StorageBatchOperationsJobTimeouts;
}
export interface StorageBatchOperationsJobBucketListBucketsManifest {
    /**
    * Specifies objects in a manifest file.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#manifest_location StorageBatchOperationsJob#manifest_location}
    */
    readonly manifestLocation?: string;
}
export declare function storageBatchOperationsJobBucketListBucketsManifestToTerraform(struct?: StorageBatchOperationsJobBucketListBucketsManifestOutputReference | StorageBatchOperationsJobBucketListBucketsManifest): any;
export declare function storageBatchOperationsJobBucketListBucketsManifestToHclTerraform(struct?: StorageBatchOperationsJobBucketListBucketsManifestOutputReference | StorageBatchOperationsJobBucketListBucketsManifest): any;
export declare class StorageBatchOperationsJobBucketListBucketsManifestOutputReference 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(): StorageBatchOperationsJobBucketListBucketsManifest | undefined;
    set internalValue(value: StorageBatchOperationsJobBucketListBucketsManifest | undefined);
    private _manifestLocation?;
    get manifestLocation(): string;
    set manifestLocation(value: string);
    resetManifestLocation(): void;
    get manifestLocationInput(): string | undefined;
}
export interface StorageBatchOperationsJobBucketListBucketsPrefixListStruct {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#included_object_prefixes StorageBatchOperationsJob#included_object_prefixes}
    */
    readonly includedObjectPrefixes?: string[];
}
export declare function storageBatchOperationsJobBucketListBucketsPrefixListStructToTerraform(struct?: StorageBatchOperationsJobBucketListBucketsPrefixListStructOutputReference | StorageBatchOperationsJobBucketListBucketsPrefixListStruct): any;
export declare function storageBatchOperationsJobBucketListBucketsPrefixListStructToHclTerraform(struct?: StorageBatchOperationsJobBucketListBucketsPrefixListStructOutputReference | StorageBatchOperationsJobBucketListBucketsPrefixListStruct): any;
export declare class StorageBatchOperationsJobBucketListBucketsPrefixListStructOutputReference 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(): StorageBatchOperationsJobBucketListBucketsPrefixListStruct | undefined;
    set internalValue(value: StorageBatchOperationsJobBucketListBucketsPrefixListStruct | undefined);
    private _includedObjectPrefixes?;
    get includedObjectPrefixes(): string[];
    set includedObjectPrefixes(value: string[]);
    resetIncludedObjectPrefixes(): void;
    get includedObjectPrefixesInput(): string[] | undefined;
}
export interface StorageBatchOperationsJobBucketListBuckets {
    /**
    * Bucket name for the objects to be transformed.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#bucket StorageBatchOperationsJob#bucket}
    */
    readonly bucket: string;
    /**
    * manifest block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#manifest StorageBatchOperationsJob#manifest}
    */
    readonly manifest?: StorageBatchOperationsJobBucketListBucketsManifest;
    /**
    * prefix_list block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#prefix_list StorageBatchOperationsJob#prefix_list}
    */
    readonly prefixList?: StorageBatchOperationsJobBucketListBucketsPrefixListStruct;
}
export declare function storageBatchOperationsJobBucketListBucketsToTerraform(struct?: StorageBatchOperationsJobBucketListBucketsOutputReference | StorageBatchOperationsJobBucketListBuckets): any;
export declare function storageBatchOperationsJobBucketListBucketsToHclTerraform(struct?: StorageBatchOperationsJobBucketListBucketsOutputReference | StorageBatchOperationsJobBucketListBuckets): any;
export declare class StorageBatchOperationsJobBucketListBucketsOutputReference 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(): StorageBatchOperationsJobBucketListBuckets | undefined;
    set internalValue(value: StorageBatchOperationsJobBucketListBuckets | undefined);
    private _bucket?;
    get bucket(): string;
    set bucket(value: string);
    get bucketInput(): string | undefined;
    private _manifest;
    get manifest(): StorageBatchOperationsJobBucketListBucketsManifestOutputReference;
    putManifest(value: StorageBatchOperationsJobBucketListBucketsManifest): void;
    resetManifest(): void;
    get manifestInput(): StorageBatchOperationsJobBucketListBucketsManifest | undefined;
    private _prefixList;
    get prefixList(): StorageBatchOperationsJobBucketListBucketsPrefixListStructOutputReference;
    putPrefixList(value: StorageBatchOperationsJobBucketListBucketsPrefixListStruct): void;
    resetPrefixList(): void;
    get prefixListInput(): StorageBatchOperationsJobBucketListBucketsPrefixListStruct | undefined;
}
export interface StorageBatchOperationsJobBucketListStruct {
    /**
    * buckets block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#buckets StorageBatchOperationsJob#buckets}
    */
    readonly buckets: StorageBatchOperationsJobBucketListBuckets;
}
export declare function storageBatchOperationsJobBucketListStructToTerraform(struct?: StorageBatchOperationsJobBucketListStructOutputReference | StorageBatchOperationsJobBucketListStruct): any;
export declare function storageBatchOperationsJobBucketListStructToHclTerraform(struct?: StorageBatchOperationsJobBucketListStructOutputReference | StorageBatchOperationsJobBucketListStruct): any;
export declare class StorageBatchOperationsJobBucketListStructOutputReference 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(): StorageBatchOperationsJobBucketListStruct | undefined;
    set internalValue(value: StorageBatchOperationsJobBucketListStruct | undefined);
    private _buckets;
    get buckets(): StorageBatchOperationsJobBucketListBucketsOutputReference;
    putBuckets(value: StorageBatchOperationsJobBucketListBuckets): void;
    get bucketsInput(): StorageBatchOperationsJobBucketListBuckets | undefined;
}
export interface StorageBatchOperationsJobDeleteObject {
    /**
    * enable flag to permanently delete object and all object versions if versioning is enabled on bucket.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#permanent_object_deletion_enabled StorageBatchOperationsJob#permanent_object_deletion_enabled}
    */
    readonly permanentObjectDeletionEnabled: boolean | cdktf.IResolvable;
}
export declare function storageBatchOperationsJobDeleteObjectToTerraform(struct?: StorageBatchOperationsJobDeleteObjectOutputReference | StorageBatchOperationsJobDeleteObject): any;
export declare function storageBatchOperationsJobDeleteObjectToHclTerraform(struct?: StorageBatchOperationsJobDeleteObjectOutputReference | StorageBatchOperationsJobDeleteObject): any;
export declare class StorageBatchOperationsJobDeleteObjectOutputReference 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(): StorageBatchOperationsJobDeleteObject | undefined;
    set internalValue(value: StorageBatchOperationsJobDeleteObject | undefined);
    private _permanentObjectDeletionEnabled?;
    get permanentObjectDeletionEnabled(): boolean | cdktf.IResolvable;
    set permanentObjectDeletionEnabled(value: boolean | cdktf.IResolvable);
    get permanentObjectDeletionEnabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface StorageBatchOperationsJobPutMetadata {
    /**
    * Cache-Control directive to specify caching behavior of object data. If omitted and object is accessible to all anonymous users, the default will be public, max-age=3600
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#cache_control StorageBatchOperationsJob#cache_control}
    */
    readonly cacheControl?: string;
    /**
    * Content-Disposition of the object data.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#content_disposition StorageBatchOperationsJob#content_disposition}
    */
    readonly contentDisposition?: string;
    /**
    * Content Encoding of the object data.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#content_encoding StorageBatchOperationsJob#content_encoding}
    */
    readonly contentEncoding?: string;
    /**
    * Content-Language of the object data.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#content_language StorageBatchOperationsJob#content_language}
    */
    readonly contentLanguage?: string;
    /**
    * Content-Type of the object data.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#content_type StorageBatchOperationsJob#content_type}
    */
    readonly contentType?: string;
    /**
    * User-provided metadata, in key/value pairs.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#custom_metadata StorageBatchOperationsJob#custom_metadata}
    */
    readonly customMetadata?: {
        [key: string]: string;
    };
    /**
    * Updates the objects fixed custom time metadata.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#custom_time StorageBatchOperationsJob#custom_time}
    */
    readonly customTime?: string;
}
export declare function storageBatchOperationsJobPutMetadataToTerraform(struct?: StorageBatchOperationsJobPutMetadataOutputReference | StorageBatchOperationsJobPutMetadata): any;
export declare function storageBatchOperationsJobPutMetadataToHclTerraform(struct?: StorageBatchOperationsJobPutMetadataOutputReference | StorageBatchOperationsJobPutMetadata): any;
export declare class StorageBatchOperationsJobPutMetadataOutputReference 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(): StorageBatchOperationsJobPutMetadata | undefined;
    set internalValue(value: StorageBatchOperationsJobPutMetadata | undefined);
    private _cacheControl?;
    get cacheControl(): string;
    set cacheControl(value: string);
    resetCacheControl(): void;
    get cacheControlInput(): string | undefined;
    private _contentDisposition?;
    get contentDisposition(): string;
    set contentDisposition(value: string);
    resetContentDisposition(): void;
    get contentDispositionInput(): string | undefined;
    private _contentEncoding?;
    get contentEncoding(): string;
    set contentEncoding(value: string);
    resetContentEncoding(): void;
    get contentEncodingInput(): string | undefined;
    private _contentLanguage?;
    get contentLanguage(): string;
    set contentLanguage(value: string);
    resetContentLanguage(): void;
    get contentLanguageInput(): string | undefined;
    private _contentType?;
    get contentType(): string;
    set contentType(value: string);
    resetContentType(): void;
    get contentTypeInput(): string | undefined;
    private _customMetadata?;
    get customMetadata(): {
        [key: string]: string;
    };
    set customMetadata(value: {
        [key: string]: string;
    });
    resetCustomMetadata(): void;
    get customMetadataInput(): {
        [key: string]: string;
    } | undefined;
    private _customTime?;
    get customTime(): string;
    set customTime(value: string);
    resetCustomTime(): void;
    get customTimeInput(): string | undefined;
}
export interface StorageBatchOperationsJobPutObjectHold {
    /**
    * set/unset to update event based hold for objects.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#event_based_hold StorageBatchOperationsJob#event_based_hold}
    */
    readonly eventBasedHold?: string;
    /**
    * set/unset to update temporary based hold for objects.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#temporary_hold StorageBatchOperationsJob#temporary_hold}
    */
    readonly temporaryHold?: string;
}
export declare function storageBatchOperationsJobPutObjectHoldToTerraform(struct?: StorageBatchOperationsJobPutObjectHoldOutputReference | StorageBatchOperationsJobPutObjectHold): any;
export declare function storageBatchOperationsJobPutObjectHoldToHclTerraform(struct?: StorageBatchOperationsJobPutObjectHoldOutputReference | StorageBatchOperationsJobPutObjectHold): any;
export declare class StorageBatchOperationsJobPutObjectHoldOutputReference 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(): StorageBatchOperationsJobPutObjectHold | undefined;
    set internalValue(value: StorageBatchOperationsJobPutObjectHold | undefined);
    private _eventBasedHold?;
    get eventBasedHold(): string;
    set eventBasedHold(value: string);
    resetEventBasedHold(): void;
    get eventBasedHoldInput(): string | undefined;
    private _temporaryHold?;
    get temporaryHold(): string;
    set temporaryHold(value: string);
    resetTemporaryHold(): void;
    get temporaryHoldInput(): string | undefined;
}
export interface StorageBatchOperationsJobRewriteObject {
    /**
    * valid kms key
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#kms_key StorageBatchOperationsJob#kms_key}
    */
    readonly kmsKey: string;
}
export declare function storageBatchOperationsJobRewriteObjectToTerraform(struct?: StorageBatchOperationsJobRewriteObjectOutputReference | StorageBatchOperationsJobRewriteObject): any;
export declare function storageBatchOperationsJobRewriteObjectToHclTerraform(struct?: StorageBatchOperationsJobRewriteObjectOutputReference | StorageBatchOperationsJobRewriteObject): any;
export declare class StorageBatchOperationsJobRewriteObjectOutputReference 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(): StorageBatchOperationsJobRewriteObject | undefined;
    set internalValue(value: StorageBatchOperationsJobRewriteObject | undefined);
    private _kmsKey?;
    get kmsKey(): string;
    set kmsKey(value: string);
    get kmsKeyInput(): string | undefined;
}
export interface StorageBatchOperationsJobTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#create StorageBatchOperationsJob#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#delete StorageBatchOperationsJob#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#update StorageBatchOperationsJob#update}
    */
    readonly update?: string;
}
export declare function storageBatchOperationsJobTimeoutsToTerraform(struct?: StorageBatchOperationsJobTimeouts | cdktf.IResolvable): any;
export declare function storageBatchOperationsJobTimeoutsToHclTerraform(struct?: StorageBatchOperationsJobTimeouts | cdktf.IResolvable): any;
export declare class StorageBatchOperationsJobTimeoutsOutputReference 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(): StorageBatchOperationsJobTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: StorageBatchOperationsJobTimeouts | 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.40.0/docs/resources/storage_batch_operations_job google_storage_batch_operations_job}
*/
export declare class StorageBatchOperationsJob extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_storage_batch_operations_job";
    /**
    * Generates CDKTF code for importing a StorageBatchOperationsJob 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 StorageBatchOperationsJob to import
    * @param importFromId The id of the existing StorageBatchOperationsJob that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/storage_batch_operations_job#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the StorageBatchOperationsJob 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.40.0/docs/resources/storage_batch_operations_job google_storage_batch_operations_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 StorageBatchOperationsJobConfig = {}
    */
    constructor(scope: Construct, id: string, config?: StorageBatchOperationsJobConfig);
    get completeTime(): string;
    get createTime(): string;
    private _deleteProtection?;
    get deleteProtection(): boolean | cdktf.IResolvable;
    set deleteProtection(value: boolean | cdktf.IResolvable);
    resetDeleteProtection(): void;
    get deleteProtectionInput(): boolean | cdktf.IResolvable | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _jobId?;
    get jobId(): string;
    set jobId(value: string);
    resetJobId(): void;
    get jobIdInput(): string | undefined;
    private _project?;
    get project(): string;
    set project(value: string);
    resetProject(): void;
    get projectInput(): string | undefined;
    get scheduleTime(): string;
    get state(): string;
    get updateTime(): string;
    private _bucketList;
    get bucketList(): StorageBatchOperationsJobBucketListStructOutputReference;
    putBucketList(value: StorageBatchOperationsJobBucketListStruct): void;
    resetBucketList(): void;
    get bucketListInput(): StorageBatchOperationsJobBucketListStruct | undefined;
    private _deleteObject;
    get deleteObject(): StorageBatchOperationsJobDeleteObjectOutputReference;
    putDeleteObject(value: StorageBatchOperationsJobDeleteObject): void;
    resetDeleteObject(): void;
    get deleteObjectInput(): StorageBatchOperationsJobDeleteObject | undefined;
    private _putMetadata;
    get putMetadata(): StorageBatchOperationsJobPutMetadataOutputReference;
    putPutMetadata(value: StorageBatchOperationsJobPutMetadata): void;
    resetPutMetadata(): void;
    get putMetadataInput(): StorageBatchOperationsJobPutMetadata | undefined;
    private _putObjectHold;
    get putObjectHold(): StorageBatchOperationsJobPutObjectHoldOutputReference;
    putPutObjectHold(value: StorageBatchOperationsJobPutObjectHold): void;
    resetPutObjectHold(): void;
    get putObjectHoldInput(): StorageBatchOperationsJobPutObjectHold | undefined;
    private _rewriteObject;
    get rewriteObject(): StorageBatchOperationsJobRewriteObjectOutputReference;
    putRewriteObject(value: StorageBatchOperationsJobRewriteObject): void;
    resetRewriteObject(): void;
    get rewriteObjectInput(): StorageBatchOperationsJobRewriteObject | undefined;
    private _timeouts;
    get timeouts(): StorageBatchOperationsJobTimeoutsOutputReference;
    putTimeouts(value: StorageBatchOperationsJobTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | StorageBatchOperationsJobTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
