import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface OsManagementHubScheduledJobConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#compartment_id OsManagementHubScheduledJob#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#defined_tags OsManagementHubScheduledJob#defined_tags}
    */
    readonly definedTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#description OsManagementHubScheduledJob#description}
    */
    readonly description?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#display_name OsManagementHubScheduledJob#display_name}
    */
    readonly displayName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#freeform_tags OsManagementHubScheduledJob#freeform_tags}
    */
    readonly freeformTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#id OsManagementHubScheduledJob#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;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#is_managed_by_autonomous_linux OsManagementHubScheduledJob#is_managed_by_autonomous_linux}
    */
    readonly isManagedByAutonomousLinux?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#is_subcompartment_included OsManagementHubScheduledJob#is_subcompartment_included}
    */
    readonly isSubcompartmentIncluded?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#lifecycle_stage_ids OsManagementHubScheduledJob#lifecycle_stage_ids}
    */
    readonly lifecycleStageIds?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#locations OsManagementHubScheduledJob#locations}
    */
    readonly locations?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#managed_compartment_ids OsManagementHubScheduledJob#managed_compartment_ids}
    */
    readonly managedCompartmentIds?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#managed_instance_group_ids OsManagementHubScheduledJob#managed_instance_group_ids}
    */
    readonly managedInstanceGroupIds?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#managed_instance_ids OsManagementHubScheduledJob#managed_instance_ids}
    */
    readonly managedInstanceIds?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#recurring_rule OsManagementHubScheduledJob#recurring_rule}
    */
    readonly recurringRule?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#retry_intervals OsManagementHubScheduledJob#retry_intervals}
    */
    readonly retryIntervals?: number[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#schedule_type OsManagementHubScheduledJob#schedule_type}
    */
    readonly scheduleType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#time_next_execution OsManagementHubScheduledJob#time_next_execution}
    */
    readonly timeNextExecution: string;
    /**
    * operations block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#operations OsManagementHubScheduledJob#operations}
    */
    readonly operations: OsManagementHubScheduledJobOperations[] | cdktf.IResolvable;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#timeouts OsManagementHubScheduledJob#timeouts}
    */
    readonly timeouts?: OsManagementHubScheduledJobTimeouts;
}
export interface OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsDisable {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#module_name OsManagementHubScheduledJob#module_name}
    */
    readonly moduleName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#software_source_id OsManagementHubScheduledJob#software_source_id}
    */
    readonly softwareSourceId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#stream_name OsManagementHubScheduledJob#stream_name}
    */
    readonly streamName: string;
}
export declare function osManagementHubScheduledJobOperationsManageModuleStreamsDetailsDisableToTerraform(struct?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsDisable | cdktf.IResolvable): any;
export declare function osManagementHubScheduledJobOperationsManageModuleStreamsDetailsDisableToHclTerraform(struct?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsDisable | cdktf.IResolvable): any;
export declare class OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsDisableOutputReference 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(): OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsDisable | cdktf.IResolvable | undefined;
    set internalValue(value: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsDisable | cdktf.IResolvable | undefined);
    private _moduleName?;
    get moduleName(): string;
    set moduleName(value: string);
    get moduleNameInput(): string | undefined;
    private _softwareSourceId?;
    get softwareSourceId(): string;
    set softwareSourceId(value: string);
    resetSoftwareSourceId(): void;
    get softwareSourceIdInput(): string | undefined;
    private _streamName?;
    get streamName(): string;
    set streamName(value: string);
    get streamNameInput(): string | undefined;
}
export declare class OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsDisableList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsDisable[] | 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): OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsDisableOutputReference;
}
export interface OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsEnable {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#module_name OsManagementHubScheduledJob#module_name}
    */
    readonly moduleName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#software_source_id OsManagementHubScheduledJob#software_source_id}
    */
    readonly softwareSourceId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#stream_name OsManagementHubScheduledJob#stream_name}
    */
    readonly streamName: string;
}
export declare function osManagementHubScheduledJobOperationsManageModuleStreamsDetailsEnableToTerraform(struct?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsEnable | cdktf.IResolvable): any;
export declare function osManagementHubScheduledJobOperationsManageModuleStreamsDetailsEnableToHclTerraform(struct?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsEnable | cdktf.IResolvable): any;
export declare class OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsEnableOutputReference 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(): OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsEnable | cdktf.IResolvable | undefined;
    set internalValue(value: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsEnable | cdktf.IResolvable | undefined);
    private _moduleName?;
    get moduleName(): string;
    set moduleName(value: string);
    get moduleNameInput(): string | undefined;
    private _softwareSourceId?;
    get softwareSourceId(): string;
    set softwareSourceId(value: string);
    resetSoftwareSourceId(): void;
    get softwareSourceIdInput(): string | undefined;
    private _streamName?;
    get streamName(): string;
    set streamName(value: string);
    get streamNameInput(): string | undefined;
}
export declare class OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsEnableList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsEnable[] | 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): OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsEnableOutputReference;
}
export interface OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsInstall {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#module_name OsManagementHubScheduledJob#module_name}
    */
    readonly moduleName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#profile_name OsManagementHubScheduledJob#profile_name}
    */
    readonly profileName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#software_source_id OsManagementHubScheduledJob#software_source_id}
    */
    readonly softwareSourceId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#stream_name OsManagementHubScheduledJob#stream_name}
    */
    readonly streamName: string;
}
export declare function osManagementHubScheduledJobOperationsManageModuleStreamsDetailsInstallToTerraform(struct?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsInstall | cdktf.IResolvable): any;
export declare function osManagementHubScheduledJobOperationsManageModuleStreamsDetailsInstallToHclTerraform(struct?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsInstall | cdktf.IResolvable): any;
export declare class OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsInstallOutputReference 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(): OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsInstall | cdktf.IResolvable | undefined;
    set internalValue(value: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsInstall | cdktf.IResolvable | undefined);
    private _moduleName?;
    get moduleName(): string;
    set moduleName(value: string);
    get moduleNameInput(): string | undefined;
    private _profileName?;
    get profileName(): string;
    set profileName(value: string);
    get profileNameInput(): string | undefined;
    private _softwareSourceId?;
    get softwareSourceId(): string;
    set softwareSourceId(value: string);
    resetSoftwareSourceId(): void;
    get softwareSourceIdInput(): string | undefined;
    private _streamName?;
    get streamName(): string;
    set streamName(value: string);
    get streamNameInput(): string | undefined;
}
export declare class OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsInstallList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsInstall[] | 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): OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsInstallOutputReference;
}
export interface OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsRemove {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#module_name OsManagementHubScheduledJob#module_name}
    */
    readonly moduleName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#profile_name OsManagementHubScheduledJob#profile_name}
    */
    readonly profileName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#software_source_id OsManagementHubScheduledJob#software_source_id}
    */
    readonly softwareSourceId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#stream_name OsManagementHubScheduledJob#stream_name}
    */
    readonly streamName: string;
}
export declare function osManagementHubScheduledJobOperationsManageModuleStreamsDetailsRemoveToTerraform(struct?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsRemove | cdktf.IResolvable): any;
export declare function osManagementHubScheduledJobOperationsManageModuleStreamsDetailsRemoveToHclTerraform(struct?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsRemove | cdktf.IResolvable): any;
export declare class OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsRemoveOutputReference 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(): OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsRemove | cdktf.IResolvable | undefined;
    set internalValue(value: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsRemove | cdktf.IResolvable | undefined);
    private _moduleName?;
    get moduleName(): string;
    set moduleName(value: string);
    get moduleNameInput(): string | undefined;
    private _profileName?;
    get profileName(): string;
    set profileName(value: string);
    get profileNameInput(): string | undefined;
    private _softwareSourceId?;
    get softwareSourceId(): string;
    set softwareSourceId(value: string);
    resetSoftwareSourceId(): void;
    get softwareSourceIdInput(): string | undefined;
    private _streamName?;
    get streamName(): string;
    set streamName(value: string);
    get streamNameInput(): string | undefined;
}
export declare class OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsRemoveList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsRemove[] | 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): OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsRemoveOutputReference;
}
export interface OsManagementHubScheduledJobOperationsManageModuleStreamsDetails {
    /**
    * disable block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#disable OsManagementHubScheduledJob#disable}
    */
    readonly disable?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsDisable[] | cdktf.IResolvable;
    /**
    * enable block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#enable OsManagementHubScheduledJob#enable}
    */
    readonly enable?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsEnable[] | cdktf.IResolvable;
    /**
    * install block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#install OsManagementHubScheduledJob#install}
    */
    readonly install?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsInstall[] | cdktf.IResolvable;
    /**
    * remove block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#remove OsManagementHubScheduledJob#remove}
    */
    readonly remove?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsRemove[] | cdktf.IResolvable;
}
export declare function osManagementHubScheduledJobOperationsManageModuleStreamsDetailsToTerraform(struct?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsOutputReference | OsManagementHubScheduledJobOperationsManageModuleStreamsDetails): any;
export declare function osManagementHubScheduledJobOperationsManageModuleStreamsDetailsToHclTerraform(struct?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsOutputReference | OsManagementHubScheduledJobOperationsManageModuleStreamsDetails): any;
export declare class OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsOutputReference 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(): OsManagementHubScheduledJobOperationsManageModuleStreamsDetails | undefined;
    set internalValue(value: OsManagementHubScheduledJobOperationsManageModuleStreamsDetails | undefined);
    private _disable;
    get disable(): OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsDisableList;
    putDisable(value: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsDisable[] | cdktf.IResolvable): void;
    resetDisable(): void;
    get disableInput(): cdktf.IResolvable | OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsDisable[] | undefined;
    private _enable;
    get enable(): OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsEnableList;
    putEnable(value: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsEnable[] | cdktf.IResolvable): void;
    resetEnable(): void;
    get enableInput(): cdktf.IResolvable | OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsEnable[] | undefined;
    private _install;
    get install(): OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsInstallList;
    putInstall(value: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsInstall[] | cdktf.IResolvable): void;
    resetInstall(): void;
    get installInput(): cdktf.IResolvable | OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsInstall[] | undefined;
    private _remove;
    get remove(): OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsRemoveList;
    putRemove(value: OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsRemove[] | cdktf.IResolvable): void;
    resetRemove(): void;
    get removeInput(): cdktf.IResolvable | OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsRemove[] | undefined;
}
export interface OsManagementHubScheduledJobOperationsSwitchModuleStreamsDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#module_name OsManagementHubScheduledJob#module_name}
    */
    readonly moduleName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#software_source_id OsManagementHubScheduledJob#software_source_id}
    */
    readonly softwareSourceId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#stream_name OsManagementHubScheduledJob#stream_name}
    */
    readonly streamName: string;
}
export declare function osManagementHubScheduledJobOperationsSwitchModuleStreamsDetailsToTerraform(struct?: OsManagementHubScheduledJobOperationsSwitchModuleStreamsDetailsOutputReference | OsManagementHubScheduledJobOperationsSwitchModuleStreamsDetails): any;
export declare function osManagementHubScheduledJobOperationsSwitchModuleStreamsDetailsToHclTerraform(struct?: OsManagementHubScheduledJobOperationsSwitchModuleStreamsDetailsOutputReference | OsManagementHubScheduledJobOperationsSwitchModuleStreamsDetails): any;
export declare class OsManagementHubScheduledJobOperationsSwitchModuleStreamsDetailsOutputReference 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(): OsManagementHubScheduledJobOperationsSwitchModuleStreamsDetails | undefined;
    set internalValue(value: OsManagementHubScheduledJobOperationsSwitchModuleStreamsDetails | undefined);
    private _moduleName?;
    get moduleName(): string;
    set moduleName(value: string);
    get moduleNameInput(): string | undefined;
    private _softwareSourceId?;
    get softwareSourceId(): string;
    set softwareSourceId(value: string);
    resetSoftwareSourceId(): void;
    get softwareSourceIdInput(): string | undefined;
    private _streamName?;
    get streamName(): string;
    set streamName(value: string);
    get streamNameInput(): string | undefined;
}
export interface OsManagementHubScheduledJobOperations {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#operation_type OsManagementHubScheduledJob#operation_type}
    */
    readonly operationType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#package_names OsManagementHubScheduledJob#package_names}
    */
    readonly packageNames?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#software_source_ids OsManagementHubScheduledJob#software_source_ids}
    */
    readonly softwareSourceIds?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#windows_update_names OsManagementHubScheduledJob#windows_update_names}
    */
    readonly windowsUpdateNames?: string[];
    /**
    * manage_module_streams_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#manage_module_streams_details OsManagementHubScheduledJob#manage_module_streams_details}
    */
    readonly manageModuleStreamsDetails?: OsManagementHubScheduledJobOperationsManageModuleStreamsDetails;
    /**
    * switch_module_streams_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#switch_module_streams_details OsManagementHubScheduledJob#switch_module_streams_details}
    */
    readonly switchModuleStreamsDetails?: OsManagementHubScheduledJobOperationsSwitchModuleStreamsDetails;
}
export declare function osManagementHubScheduledJobOperationsToTerraform(struct?: OsManagementHubScheduledJobOperations | cdktf.IResolvable): any;
export declare function osManagementHubScheduledJobOperationsToHclTerraform(struct?: OsManagementHubScheduledJobOperations | cdktf.IResolvable): any;
export declare class OsManagementHubScheduledJobOperationsOutputReference 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(): OsManagementHubScheduledJobOperations | cdktf.IResolvable | undefined;
    set internalValue(value: OsManagementHubScheduledJobOperations | cdktf.IResolvable | undefined);
    private _operationType?;
    get operationType(): string;
    set operationType(value: string);
    get operationTypeInput(): string | undefined;
    private _packageNames?;
    get packageNames(): string[];
    set packageNames(value: string[]);
    resetPackageNames(): void;
    get packageNamesInput(): string[] | undefined;
    private _softwareSourceIds?;
    get softwareSourceIds(): string[];
    set softwareSourceIds(value: string[]);
    resetSoftwareSourceIds(): void;
    get softwareSourceIdsInput(): string[] | undefined;
    private _windowsUpdateNames?;
    get windowsUpdateNames(): string[];
    set windowsUpdateNames(value: string[]);
    resetWindowsUpdateNames(): void;
    get windowsUpdateNamesInput(): string[] | undefined;
    private _manageModuleStreamsDetails;
    get manageModuleStreamsDetails(): OsManagementHubScheduledJobOperationsManageModuleStreamsDetailsOutputReference;
    putManageModuleStreamsDetails(value: OsManagementHubScheduledJobOperationsManageModuleStreamsDetails): void;
    resetManageModuleStreamsDetails(): void;
    get manageModuleStreamsDetailsInput(): OsManagementHubScheduledJobOperationsManageModuleStreamsDetails | undefined;
    private _switchModuleStreamsDetails;
    get switchModuleStreamsDetails(): OsManagementHubScheduledJobOperationsSwitchModuleStreamsDetailsOutputReference;
    putSwitchModuleStreamsDetails(value: OsManagementHubScheduledJobOperationsSwitchModuleStreamsDetails): void;
    resetSwitchModuleStreamsDetails(): void;
    get switchModuleStreamsDetailsInput(): OsManagementHubScheduledJobOperationsSwitchModuleStreamsDetails | undefined;
}
export declare class OsManagementHubScheduledJobOperationsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: OsManagementHubScheduledJobOperations[] | 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): OsManagementHubScheduledJobOperationsOutputReference;
}
export interface OsManagementHubScheduledJobTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#create OsManagementHubScheduledJob#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#delete OsManagementHubScheduledJob#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#update OsManagementHubScheduledJob#update}
    */
    readonly update?: string;
}
export declare function osManagementHubScheduledJobTimeoutsToTerraform(struct?: OsManagementHubScheduledJobTimeouts | cdktf.IResolvable): any;
export declare function osManagementHubScheduledJobTimeoutsToHclTerraform(struct?: OsManagementHubScheduledJobTimeouts | cdktf.IResolvable): any;
export declare class OsManagementHubScheduledJobTimeoutsOutputReference 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(): OsManagementHubScheduledJobTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: OsManagementHubScheduledJobTimeouts | 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/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job oci_os_management_hub_scheduled_job}
*/
export declare class OsManagementHubScheduledJob extends cdktf.TerraformResource {
    static readonly tfResourceType = "oci_os_management_hub_scheduled_job";
    /**
    * Generates CDKTF code for importing a OsManagementHubScheduledJob 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 OsManagementHubScheduledJob to import
    * @param importFromId The id of the existing OsManagementHubScheduledJob that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the OsManagementHubScheduledJob 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/oracle/oci/6.18.0/docs/resources/os_management_hub_scheduled_job oci_os_management_hub_scheduled_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 OsManagementHubScheduledJobConfig
    */
    constructor(scope: Construct, id: string, config: OsManagementHubScheduledJobConfig);
    private _compartmentId?;
    get compartmentId(): string;
    set compartmentId(value: string);
    get compartmentIdInput(): string | undefined;
    private _definedTags?;
    get definedTags(): {
        [key: string]: string;
    };
    set definedTags(value: {
        [key: string]: string;
    });
    resetDefinedTags(): void;
    get definedTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    resetDisplayName(): void;
    get displayNameInput(): string | undefined;
    private _freeformTags?;
    get freeformTags(): {
        [key: string]: string;
    };
    set freeformTags(value: {
        [key: string]: string;
    });
    resetFreeformTags(): void;
    get freeformTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _isManagedByAutonomousLinux?;
    get isManagedByAutonomousLinux(): boolean | cdktf.IResolvable;
    set isManagedByAutonomousLinux(value: boolean | cdktf.IResolvable);
    resetIsManagedByAutonomousLinux(): void;
    get isManagedByAutonomousLinuxInput(): boolean | cdktf.IResolvable | undefined;
    get isRestricted(): cdktf.IResolvable;
    private _isSubcompartmentIncluded?;
    get isSubcompartmentIncluded(): boolean | cdktf.IResolvable;
    set isSubcompartmentIncluded(value: boolean | cdktf.IResolvable);
    resetIsSubcompartmentIncluded(): void;
    get isSubcompartmentIncludedInput(): boolean | cdktf.IResolvable | undefined;
    private _lifecycleStageIds?;
    get lifecycleStageIds(): string[];
    set lifecycleStageIds(value: string[]);
    resetLifecycleStageIds(): void;
    get lifecycleStageIdsInput(): string[] | undefined;
    private _locations?;
    get locations(): string[];
    set locations(value: string[]);
    resetLocations(): void;
    get locationsInput(): string[] | undefined;
    private _managedCompartmentIds?;
    get managedCompartmentIds(): string[];
    set managedCompartmentIds(value: string[]);
    resetManagedCompartmentIds(): void;
    get managedCompartmentIdsInput(): string[] | undefined;
    private _managedInstanceGroupIds?;
    get managedInstanceGroupIds(): string[];
    set managedInstanceGroupIds(value: string[]);
    resetManagedInstanceGroupIds(): void;
    get managedInstanceGroupIdsInput(): string[] | undefined;
    private _managedInstanceIds?;
    get managedInstanceIds(): string[];
    set managedInstanceIds(value: string[]);
    resetManagedInstanceIds(): void;
    get managedInstanceIdsInput(): string[] | undefined;
    private _recurringRule?;
    get recurringRule(): string;
    set recurringRule(value: string);
    resetRecurringRule(): void;
    get recurringRuleInput(): string | undefined;
    private _retryIntervals?;
    get retryIntervals(): number[];
    set retryIntervals(value: number[]);
    resetRetryIntervals(): void;
    get retryIntervalsInput(): number[] | undefined;
    private _scheduleType?;
    get scheduleType(): string;
    set scheduleType(value: string);
    get scheduleTypeInput(): string | undefined;
    get state(): string;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    get timeCreated(): string;
    get timeLastExecution(): string;
    private _timeNextExecution?;
    get timeNextExecution(): string;
    set timeNextExecution(value: string);
    get timeNextExecutionInput(): string | undefined;
    get timeUpdated(): string;
    get workRequestIds(): string[];
    private _operations;
    get operations(): OsManagementHubScheduledJobOperationsList;
    putOperations(value: OsManagementHubScheduledJobOperations[] | cdktf.IResolvable): void;
    get operationsInput(): cdktf.IResolvable | OsManagementHubScheduledJobOperations[] | undefined;
    private _timeouts;
    get timeouts(): OsManagementHubScheduledJobTimeoutsOutputReference;
    putTimeouts(value: OsManagementHubScheduledJobTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | OsManagementHubScheduledJobTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
