/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface StorageInsightsReportConfigConfig extends cdktf.TerraformMetaArguments {
    /**
    * The editable display name of the inventory report configuration. Has a limit of 256 characters. Can be empty.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#display_name StorageInsightsReportConfig#display_name}
    */
    readonly displayName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#id StorageInsightsReportConfig#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 location of the ReportConfig. The source and destination buckets specified in the ReportConfig
    * must be in the same location.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#location StorageInsightsReportConfig#location}
    */
    readonly location: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#project StorageInsightsReportConfig#project}
    */
    readonly project?: string;
    /**
    * csv_options block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#csv_options StorageInsightsReportConfig#csv_options}
    */
    readonly csvOptions: StorageInsightsReportConfigCsvOptions;
    /**
    * frequency_options block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#frequency_options StorageInsightsReportConfig#frequency_options}
    */
    readonly frequencyOptions?: StorageInsightsReportConfigFrequencyOptions;
    /**
    * object_metadata_report_options block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#object_metadata_report_options StorageInsightsReportConfig#object_metadata_report_options}
    */
    readonly objectMetadataReportOptions?: StorageInsightsReportConfigObjectMetadataReportOptions;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#timeouts StorageInsightsReportConfig#timeouts}
    */
    readonly timeouts?: StorageInsightsReportConfigTimeouts;
}
export interface StorageInsightsReportConfigCsvOptions {
    /**
    * The delimiter used to separate the fields in the inventory report CSV file.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#delimiter StorageInsightsReportConfig#delimiter}
    */
    readonly delimiter?: string;
    /**
    * The boolean that indicates whether or not headers are included in the inventory report CSV file.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#header_required StorageInsightsReportConfig#header_required}
    */
    readonly headerRequired?: boolean | cdktf.IResolvable;
    /**
    * The character used to separate the records in the inventory report CSV file.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#record_separator StorageInsightsReportConfig#record_separator}
    */
    readonly recordSeparator?: string;
}
export declare function storageInsightsReportConfigCsvOptionsToTerraform(struct?: StorageInsightsReportConfigCsvOptionsOutputReference | StorageInsightsReportConfigCsvOptions): any;
export declare function storageInsightsReportConfigCsvOptionsToHclTerraform(struct?: StorageInsightsReportConfigCsvOptionsOutputReference | StorageInsightsReportConfigCsvOptions): any;
export declare class StorageInsightsReportConfigCsvOptionsOutputReference 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(): StorageInsightsReportConfigCsvOptions | undefined;
    set internalValue(value: StorageInsightsReportConfigCsvOptions | undefined);
    private _delimiter?;
    get delimiter(): string;
    set delimiter(value: string);
    resetDelimiter(): void;
    get delimiterInput(): string | undefined;
    private _headerRequired?;
    get headerRequired(): boolean | cdktf.IResolvable;
    set headerRequired(value: boolean | cdktf.IResolvable);
    resetHeaderRequired(): void;
    get headerRequiredInput(): boolean | cdktf.IResolvable | undefined;
    private _recordSeparator?;
    get recordSeparator(): string;
    set recordSeparator(value: string);
    resetRecordSeparator(): void;
    get recordSeparatorInput(): string | undefined;
}
export interface StorageInsightsReportConfigFrequencyOptionsEndDate {
    /**
    * The day of the month to stop generating inventory reports.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#day StorageInsightsReportConfig#day}
    */
    readonly day: number;
    /**
    * The month to stop generating inventory reports.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#month StorageInsightsReportConfig#month}
    */
    readonly month: number;
    /**
    * The year to stop generating inventory reports
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#year StorageInsightsReportConfig#year}
    */
    readonly year: number;
}
export declare function storageInsightsReportConfigFrequencyOptionsEndDateToTerraform(struct?: StorageInsightsReportConfigFrequencyOptionsEndDateOutputReference | StorageInsightsReportConfigFrequencyOptionsEndDate): any;
export declare function storageInsightsReportConfigFrequencyOptionsEndDateToHclTerraform(struct?: StorageInsightsReportConfigFrequencyOptionsEndDateOutputReference | StorageInsightsReportConfigFrequencyOptionsEndDate): any;
export declare class StorageInsightsReportConfigFrequencyOptionsEndDateOutputReference 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(): StorageInsightsReportConfigFrequencyOptionsEndDate | undefined;
    set internalValue(value: StorageInsightsReportConfigFrequencyOptionsEndDate | undefined);
    private _day?;
    get day(): number;
    set day(value: number);
    get dayInput(): number | undefined;
    private _month?;
    get month(): number;
    set month(value: number);
    get monthInput(): number | undefined;
    private _year?;
    get year(): number;
    set year(value: number);
    get yearInput(): number | undefined;
}
export interface StorageInsightsReportConfigFrequencyOptionsStartDate {
    /**
    * The day of the month to start generating inventory reports.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#day StorageInsightsReportConfig#day}
    */
    readonly day: number;
    /**
    * The month to start generating inventory reports.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#month StorageInsightsReportConfig#month}
    */
    readonly month: number;
    /**
    * The year to start generating inventory reports
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#year StorageInsightsReportConfig#year}
    */
    readonly year: number;
}
export declare function storageInsightsReportConfigFrequencyOptionsStartDateToTerraform(struct?: StorageInsightsReportConfigFrequencyOptionsStartDateOutputReference | StorageInsightsReportConfigFrequencyOptionsStartDate): any;
export declare function storageInsightsReportConfigFrequencyOptionsStartDateToHclTerraform(struct?: StorageInsightsReportConfigFrequencyOptionsStartDateOutputReference | StorageInsightsReportConfigFrequencyOptionsStartDate): any;
export declare class StorageInsightsReportConfigFrequencyOptionsStartDateOutputReference 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(): StorageInsightsReportConfigFrequencyOptionsStartDate | undefined;
    set internalValue(value: StorageInsightsReportConfigFrequencyOptionsStartDate | undefined);
    private _day?;
    get day(): number;
    set day(value: number);
    get dayInput(): number | undefined;
    private _month?;
    get month(): number;
    set month(value: number);
    get monthInput(): number | undefined;
    private _year?;
    get year(): number;
    set year(value: number);
    get yearInput(): number | undefined;
}
export interface StorageInsightsReportConfigFrequencyOptions {
    /**
    * The frequency in which inventory reports are generated. Values are DAILY or WEEKLY. Possible values: ["DAILY", "WEEKLY"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#frequency StorageInsightsReportConfig#frequency}
    */
    readonly frequency: string;
    /**
    * end_date block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#end_date StorageInsightsReportConfig#end_date}
    */
    readonly endDate: StorageInsightsReportConfigFrequencyOptionsEndDate;
    /**
    * start_date block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#start_date StorageInsightsReportConfig#start_date}
    */
    readonly startDate: StorageInsightsReportConfigFrequencyOptionsStartDate;
}
export declare function storageInsightsReportConfigFrequencyOptionsToTerraform(struct?: StorageInsightsReportConfigFrequencyOptionsOutputReference | StorageInsightsReportConfigFrequencyOptions): any;
export declare function storageInsightsReportConfigFrequencyOptionsToHclTerraform(struct?: StorageInsightsReportConfigFrequencyOptionsOutputReference | StorageInsightsReportConfigFrequencyOptions): any;
export declare class StorageInsightsReportConfigFrequencyOptionsOutputReference 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(): StorageInsightsReportConfigFrequencyOptions | undefined;
    set internalValue(value: StorageInsightsReportConfigFrequencyOptions | undefined);
    private _frequency?;
    get frequency(): string;
    set frequency(value: string);
    get frequencyInput(): string | undefined;
    private _endDate;
    get endDate(): StorageInsightsReportConfigFrequencyOptionsEndDateOutputReference;
    putEndDate(value: StorageInsightsReportConfigFrequencyOptionsEndDate): void;
    get endDateInput(): StorageInsightsReportConfigFrequencyOptionsEndDate | undefined;
    private _startDate;
    get startDate(): StorageInsightsReportConfigFrequencyOptionsStartDateOutputReference;
    putStartDate(value: StorageInsightsReportConfigFrequencyOptionsStartDate): void;
    get startDateInput(): StorageInsightsReportConfigFrequencyOptionsStartDate | undefined;
}
export interface StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions {
    /**
    * The destination bucket that stores the generated inventory reports.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#bucket StorageInsightsReportConfig#bucket}
    */
    readonly bucket: string;
    /**
    * The path within the destination bucket to store generated inventory reports.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#destination_path StorageInsightsReportConfig#destination_path}
    */
    readonly destinationPath?: string;
}
export declare function storageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsToTerraform(struct?: StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutputReference | StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions): any;
export declare function storageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsToHclTerraform(struct?: StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutputReference | StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions): any;
export declare class StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutputReference 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(): StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions | undefined;
    set internalValue(value: StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions | undefined);
    private _bucket?;
    get bucket(): string;
    set bucket(value: string);
    get bucketInput(): string | undefined;
    private _destinationPath?;
    get destinationPath(): string;
    set destinationPath(value: string);
    resetDestinationPath(): void;
    get destinationPathInput(): string | undefined;
}
export interface StorageInsightsReportConfigObjectMetadataReportOptionsStorageFilters {
    /**
    * The filter to use when specifying which bucket to generate inventory reports for.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#bucket StorageInsightsReportConfig#bucket}
    */
    readonly bucket?: string;
}
export declare function storageInsightsReportConfigObjectMetadataReportOptionsStorageFiltersToTerraform(struct?: StorageInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutputReference | StorageInsightsReportConfigObjectMetadataReportOptionsStorageFilters): any;
export declare function storageInsightsReportConfigObjectMetadataReportOptionsStorageFiltersToHclTerraform(struct?: StorageInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutputReference | StorageInsightsReportConfigObjectMetadataReportOptionsStorageFilters): any;
export declare class StorageInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutputReference 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(): StorageInsightsReportConfigObjectMetadataReportOptionsStorageFilters | undefined;
    set internalValue(value: StorageInsightsReportConfigObjectMetadataReportOptionsStorageFilters | undefined);
    private _bucket?;
    get bucket(): string;
    set bucket(value: string);
    resetBucket(): void;
    get bucketInput(): string | undefined;
}
export interface StorageInsightsReportConfigObjectMetadataReportOptions {
    /**
    * The metadata fields included in an inventory report.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#metadata_fields StorageInsightsReportConfig#metadata_fields}
    */
    readonly metadataFields: string[];
    /**
    * storage_destination_options block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#storage_destination_options StorageInsightsReportConfig#storage_destination_options}
    */
    readonly storageDestinationOptions: StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions;
    /**
    * storage_filters block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#storage_filters StorageInsightsReportConfig#storage_filters}
    */
    readonly storageFilters?: StorageInsightsReportConfigObjectMetadataReportOptionsStorageFilters;
}
export declare function storageInsightsReportConfigObjectMetadataReportOptionsToTerraform(struct?: StorageInsightsReportConfigObjectMetadataReportOptionsOutputReference | StorageInsightsReportConfigObjectMetadataReportOptions): any;
export declare function storageInsightsReportConfigObjectMetadataReportOptionsToHclTerraform(struct?: StorageInsightsReportConfigObjectMetadataReportOptionsOutputReference | StorageInsightsReportConfigObjectMetadataReportOptions): any;
export declare class StorageInsightsReportConfigObjectMetadataReportOptionsOutputReference 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(): StorageInsightsReportConfigObjectMetadataReportOptions | undefined;
    set internalValue(value: StorageInsightsReportConfigObjectMetadataReportOptions | undefined);
    private _metadataFields?;
    get metadataFields(): string[];
    set metadataFields(value: string[]);
    get metadataFieldsInput(): string[] | undefined;
    private _storageDestinationOptions;
    get storageDestinationOptions(): StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutputReference;
    putStorageDestinationOptions(value: StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions): void;
    get storageDestinationOptionsInput(): StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions | undefined;
    private _storageFilters;
    get storageFilters(): StorageInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutputReference;
    putStorageFilters(value: StorageInsightsReportConfigObjectMetadataReportOptionsStorageFilters): void;
    resetStorageFilters(): void;
    get storageFiltersInput(): StorageInsightsReportConfigObjectMetadataReportOptionsStorageFilters | undefined;
}
export interface StorageInsightsReportConfigTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#create StorageInsightsReportConfig#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#delete StorageInsightsReportConfig#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#update StorageInsightsReportConfig#update}
    */
    readonly update?: string;
}
export declare function storageInsightsReportConfigTimeoutsToTerraform(struct?: StorageInsightsReportConfigTimeouts | cdktf.IResolvable): any;
export declare function storageInsightsReportConfigTimeoutsToHclTerraform(struct?: StorageInsightsReportConfigTimeouts | cdktf.IResolvable): any;
export declare class StorageInsightsReportConfigTimeoutsOutputReference 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(): StorageInsightsReportConfigTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: StorageInsightsReportConfigTimeouts | 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/5.43.1/docs/resources/storage_insights_report_config google_storage_insights_report_config}
*/
export declare class StorageInsightsReportConfig extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_storage_insights_report_config";
    /**
    * Generates CDKTF code for importing a StorageInsightsReportConfig 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 StorageInsightsReportConfig to import
    * @param importFromId The id of the existing StorageInsightsReportConfig that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/storage_insights_report_config#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the StorageInsightsReportConfig 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/5.43.1/docs/resources/storage_insights_report_config google_storage_insights_report_config} 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 StorageInsightsReportConfigConfig
    */
    constructor(scope: Construct, id: string, config: StorageInsightsReportConfigConfig);
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    resetDisplayName(): void;
    get displayNameInput(): string | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): 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 _csvOptions;
    get csvOptions(): StorageInsightsReportConfigCsvOptionsOutputReference;
    putCsvOptions(value: StorageInsightsReportConfigCsvOptions): void;
    get csvOptionsInput(): StorageInsightsReportConfigCsvOptions | undefined;
    private _frequencyOptions;
    get frequencyOptions(): StorageInsightsReportConfigFrequencyOptionsOutputReference;
    putFrequencyOptions(value: StorageInsightsReportConfigFrequencyOptions): void;
    resetFrequencyOptions(): void;
    get frequencyOptionsInput(): StorageInsightsReportConfigFrequencyOptions | undefined;
    private _objectMetadataReportOptions;
    get objectMetadataReportOptions(): StorageInsightsReportConfigObjectMetadataReportOptionsOutputReference;
    putObjectMetadataReportOptions(value: StorageInsightsReportConfigObjectMetadataReportOptions): void;
    resetObjectMetadataReportOptions(): void;
    get objectMetadataReportOptionsInput(): StorageInsightsReportConfigObjectMetadataReportOptions | undefined;
    private _timeouts;
    get timeouts(): StorageInsightsReportConfigTimeoutsOutputReference;
    putTimeouts(value: StorageInsightsReportConfigTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | StorageInsightsReportConfigTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
