import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface AiLanguageModelConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#compartment_id AiLanguageModel#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#defined_tags AiLanguageModel#defined_tags}
    */
    readonly definedTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#description AiLanguageModel#description}
    */
    readonly description?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#display_name AiLanguageModel#display_name}
    */
    readonly displayName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#freeform_tags AiLanguageModel#freeform_tags}
    */
    readonly freeformTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#id AiLanguageModel#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/ai_language_model#project_id AiLanguageModel#project_id}
    */
    readonly projectId: string;
    /**
    * model_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#model_details AiLanguageModel#model_details}
    */
    readonly modelDetails: AiLanguageModelModelDetails;
    /**
    * test_strategy block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#test_strategy AiLanguageModel#test_strategy}
    */
    readonly testStrategy?: AiLanguageModelTestStrategy;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#timeouts AiLanguageModel#timeouts}
    */
    readonly timeouts?: AiLanguageModelTimeouts;
    /**
    * training_dataset block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#training_dataset AiLanguageModel#training_dataset}
    */
    readonly trainingDataset: AiLanguageModelTrainingDataset;
}
export interface AiLanguageModelEvaluationResultsClassMetrics {
}
export declare function aiLanguageModelEvaluationResultsClassMetricsToTerraform(struct?: AiLanguageModelEvaluationResultsClassMetrics): any;
export declare function aiLanguageModelEvaluationResultsClassMetricsToHclTerraform(struct?: AiLanguageModelEvaluationResultsClassMetrics): any;
export declare class AiLanguageModelEvaluationResultsClassMetricsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @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(): AiLanguageModelEvaluationResultsClassMetrics | undefined;
    set internalValue(value: AiLanguageModelEvaluationResultsClassMetrics | undefined);
    get f1(): number;
    get label(): string;
    get precision(): number;
    get recall(): number;
    get support(): number;
}
export declare class AiLanguageModelEvaluationResultsClassMetricsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    /**
    * @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): AiLanguageModelEvaluationResultsClassMetricsOutputReference;
}
export interface AiLanguageModelEvaluationResultsEntityMetrics {
}
export declare function aiLanguageModelEvaluationResultsEntityMetricsToTerraform(struct?: AiLanguageModelEvaluationResultsEntityMetrics): any;
export declare function aiLanguageModelEvaluationResultsEntityMetricsToHclTerraform(struct?: AiLanguageModelEvaluationResultsEntityMetrics): any;
export declare class AiLanguageModelEvaluationResultsEntityMetricsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @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(): AiLanguageModelEvaluationResultsEntityMetrics | undefined;
    set internalValue(value: AiLanguageModelEvaluationResultsEntityMetrics | undefined);
    get f1(): number;
    get label(): string;
    get precision(): number;
    get recall(): number;
}
export declare class AiLanguageModelEvaluationResultsEntityMetricsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    /**
    * @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): AiLanguageModelEvaluationResultsEntityMetricsOutputReference;
}
export interface AiLanguageModelEvaluationResultsMetrics {
}
export declare function aiLanguageModelEvaluationResultsMetricsToTerraform(struct?: AiLanguageModelEvaluationResultsMetrics): any;
export declare function aiLanguageModelEvaluationResultsMetricsToHclTerraform(struct?: AiLanguageModelEvaluationResultsMetrics): any;
export declare class AiLanguageModelEvaluationResultsMetricsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @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(): AiLanguageModelEvaluationResultsMetrics | undefined;
    set internalValue(value: AiLanguageModelEvaluationResultsMetrics | undefined);
    get accuracy(): number;
    get macroF1(): number;
    get macroPrecision(): number;
    get macroRecall(): number;
    get microF1(): number;
    get microPrecision(): number;
    get microRecall(): number;
    get weightedF1(): number;
    get weightedPrecision(): number;
    get weightedRecall(): number;
}
export declare class AiLanguageModelEvaluationResultsMetricsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    /**
    * @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): AiLanguageModelEvaluationResultsMetricsOutputReference;
}
export interface AiLanguageModelEvaluationResults {
}
export declare function aiLanguageModelEvaluationResultsToTerraform(struct?: AiLanguageModelEvaluationResults): any;
export declare function aiLanguageModelEvaluationResultsToHclTerraform(struct?: AiLanguageModelEvaluationResults): any;
export declare class AiLanguageModelEvaluationResultsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @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(): AiLanguageModelEvaluationResults | undefined;
    set internalValue(value: AiLanguageModelEvaluationResults | undefined);
    private _classMetrics;
    get classMetrics(): AiLanguageModelEvaluationResultsClassMetricsList;
    get confusionMatrix(): string;
    private _entityMetrics;
    get entityMetrics(): AiLanguageModelEvaluationResultsEntityMetricsList;
    get labels(): string[];
    private _metrics;
    get metrics(): AiLanguageModelEvaluationResultsMetricsList;
    get modelType(): string;
}
export declare class AiLanguageModelEvaluationResultsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    /**
    * @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): AiLanguageModelEvaluationResultsOutputReference;
}
export interface AiLanguageModelModelDetailsClassificationMode {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#classification_mode AiLanguageModel#classification_mode}
    */
    readonly classificationMode: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#version AiLanguageModel#version}
    */
    readonly version?: string;
}
export declare function aiLanguageModelModelDetailsClassificationModeToTerraform(struct?: AiLanguageModelModelDetailsClassificationModeOutputReference | AiLanguageModelModelDetailsClassificationMode): any;
export declare function aiLanguageModelModelDetailsClassificationModeToHclTerraform(struct?: AiLanguageModelModelDetailsClassificationModeOutputReference | AiLanguageModelModelDetailsClassificationMode): any;
export declare class AiLanguageModelModelDetailsClassificationModeOutputReference 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(): AiLanguageModelModelDetailsClassificationMode | undefined;
    set internalValue(value: AiLanguageModelModelDetailsClassificationMode | undefined);
    private _classificationMode?;
    get classificationMode(): string;
    set classificationMode(value: string);
    get classificationModeInput(): string | undefined;
    private _version?;
    get version(): string;
    set version(value: string);
    resetVersion(): void;
    get versionInput(): string | undefined;
}
export interface AiLanguageModelModelDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#language_code AiLanguageModel#language_code}
    */
    readonly languageCode?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#model_type AiLanguageModel#model_type}
    */
    readonly modelType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#version AiLanguageModel#version}
    */
    readonly version?: string;
    /**
    * classification_mode block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#classification_mode AiLanguageModel#classification_mode}
    */
    readonly classificationMode?: AiLanguageModelModelDetailsClassificationMode;
}
export declare function aiLanguageModelModelDetailsToTerraform(struct?: AiLanguageModelModelDetailsOutputReference | AiLanguageModelModelDetails): any;
export declare function aiLanguageModelModelDetailsToHclTerraform(struct?: AiLanguageModelModelDetailsOutputReference | AiLanguageModelModelDetails): any;
export declare class AiLanguageModelModelDetailsOutputReference 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(): AiLanguageModelModelDetails | undefined;
    set internalValue(value: AiLanguageModelModelDetails | undefined);
    private _languageCode?;
    get languageCode(): string;
    set languageCode(value: string);
    resetLanguageCode(): void;
    get languageCodeInput(): string | undefined;
    private _modelType?;
    get modelType(): string;
    set modelType(value: string);
    get modelTypeInput(): string | undefined;
    private _version?;
    get version(): string;
    set version(value: string);
    resetVersion(): void;
    get versionInput(): string | undefined;
    private _classificationMode;
    get classificationMode(): AiLanguageModelModelDetailsClassificationModeOutputReference;
    putClassificationMode(value: AiLanguageModelModelDetailsClassificationMode): void;
    resetClassificationMode(): void;
    get classificationModeInput(): AiLanguageModelModelDetailsClassificationMode | undefined;
}
export interface AiLanguageModelTestStrategyTestingDatasetLocationDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#bucket AiLanguageModel#bucket}
    */
    readonly bucket: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#location_type AiLanguageModel#location_type}
    */
    readonly locationType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#namespace AiLanguageModel#namespace}
    */
    readonly namespace: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#object_names AiLanguageModel#object_names}
    */
    readonly objectNames: string[];
}
export declare function aiLanguageModelTestStrategyTestingDatasetLocationDetailsToTerraform(struct?: AiLanguageModelTestStrategyTestingDatasetLocationDetailsOutputReference | AiLanguageModelTestStrategyTestingDatasetLocationDetails): any;
export declare function aiLanguageModelTestStrategyTestingDatasetLocationDetailsToHclTerraform(struct?: AiLanguageModelTestStrategyTestingDatasetLocationDetailsOutputReference | AiLanguageModelTestStrategyTestingDatasetLocationDetails): any;
export declare class AiLanguageModelTestStrategyTestingDatasetLocationDetailsOutputReference 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(): AiLanguageModelTestStrategyTestingDatasetLocationDetails | undefined;
    set internalValue(value: AiLanguageModelTestStrategyTestingDatasetLocationDetails | undefined);
    private _bucket?;
    get bucket(): string;
    set bucket(value: string);
    get bucketInput(): string | undefined;
    private _locationType?;
    get locationType(): string;
    set locationType(value: string);
    get locationTypeInput(): string | undefined;
    private _namespace?;
    get namespace(): string;
    set namespace(value: string);
    get namespaceInput(): string | undefined;
    private _objectNames?;
    get objectNames(): string[];
    set objectNames(value: string[]);
    get objectNamesInput(): string[] | undefined;
}
export interface AiLanguageModelTestStrategyTestingDataset {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#dataset_id AiLanguageModel#dataset_id}
    */
    readonly datasetId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#dataset_type AiLanguageModel#dataset_type}
    */
    readonly datasetType: string;
    /**
    * location_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#location_details AiLanguageModel#location_details}
    */
    readonly locationDetails?: AiLanguageModelTestStrategyTestingDatasetLocationDetails;
}
export declare function aiLanguageModelTestStrategyTestingDatasetToTerraform(struct?: AiLanguageModelTestStrategyTestingDatasetOutputReference | AiLanguageModelTestStrategyTestingDataset): any;
export declare function aiLanguageModelTestStrategyTestingDatasetToHclTerraform(struct?: AiLanguageModelTestStrategyTestingDatasetOutputReference | AiLanguageModelTestStrategyTestingDataset): any;
export declare class AiLanguageModelTestStrategyTestingDatasetOutputReference 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(): AiLanguageModelTestStrategyTestingDataset | undefined;
    set internalValue(value: AiLanguageModelTestStrategyTestingDataset | undefined);
    private _datasetId?;
    get datasetId(): string;
    set datasetId(value: string);
    resetDatasetId(): void;
    get datasetIdInput(): string | undefined;
    private _datasetType?;
    get datasetType(): string;
    set datasetType(value: string);
    get datasetTypeInput(): string | undefined;
    private _locationDetails;
    get locationDetails(): AiLanguageModelTestStrategyTestingDatasetLocationDetailsOutputReference;
    putLocationDetails(value: AiLanguageModelTestStrategyTestingDatasetLocationDetails): void;
    resetLocationDetails(): void;
    get locationDetailsInput(): AiLanguageModelTestStrategyTestingDatasetLocationDetails | undefined;
}
export interface AiLanguageModelTestStrategyValidationDatasetLocationDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#bucket AiLanguageModel#bucket}
    */
    readonly bucket: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#location_type AiLanguageModel#location_type}
    */
    readonly locationType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#namespace AiLanguageModel#namespace}
    */
    readonly namespace: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#object_names AiLanguageModel#object_names}
    */
    readonly objectNames: string[];
}
export declare function aiLanguageModelTestStrategyValidationDatasetLocationDetailsToTerraform(struct?: AiLanguageModelTestStrategyValidationDatasetLocationDetailsOutputReference | AiLanguageModelTestStrategyValidationDatasetLocationDetails): any;
export declare function aiLanguageModelTestStrategyValidationDatasetLocationDetailsToHclTerraform(struct?: AiLanguageModelTestStrategyValidationDatasetLocationDetailsOutputReference | AiLanguageModelTestStrategyValidationDatasetLocationDetails): any;
export declare class AiLanguageModelTestStrategyValidationDatasetLocationDetailsOutputReference 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(): AiLanguageModelTestStrategyValidationDatasetLocationDetails | undefined;
    set internalValue(value: AiLanguageModelTestStrategyValidationDatasetLocationDetails | undefined);
    private _bucket?;
    get bucket(): string;
    set bucket(value: string);
    get bucketInput(): string | undefined;
    private _locationType?;
    get locationType(): string;
    set locationType(value: string);
    get locationTypeInput(): string | undefined;
    private _namespace?;
    get namespace(): string;
    set namespace(value: string);
    get namespaceInput(): string | undefined;
    private _objectNames?;
    get objectNames(): string[];
    set objectNames(value: string[]);
    get objectNamesInput(): string[] | undefined;
}
export interface AiLanguageModelTestStrategyValidationDataset {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#dataset_id AiLanguageModel#dataset_id}
    */
    readonly datasetId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#dataset_type AiLanguageModel#dataset_type}
    */
    readonly datasetType: string;
    /**
    * location_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#location_details AiLanguageModel#location_details}
    */
    readonly locationDetails?: AiLanguageModelTestStrategyValidationDatasetLocationDetails;
}
export declare function aiLanguageModelTestStrategyValidationDatasetToTerraform(struct?: AiLanguageModelTestStrategyValidationDatasetOutputReference | AiLanguageModelTestStrategyValidationDataset): any;
export declare function aiLanguageModelTestStrategyValidationDatasetToHclTerraform(struct?: AiLanguageModelTestStrategyValidationDatasetOutputReference | AiLanguageModelTestStrategyValidationDataset): any;
export declare class AiLanguageModelTestStrategyValidationDatasetOutputReference 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(): AiLanguageModelTestStrategyValidationDataset | undefined;
    set internalValue(value: AiLanguageModelTestStrategyValidationDataset | undefined);
    private _datasetId?;
    get datasetId(): string;
    set datasetId(value: string);
    resetDatasetId(): void;
    get datasetIdInput(): string | undefined;
    private _datasetType?;
    get datasetType(): string;
    set datasetType(value: string);
    get datasetTypeInput(): string | undefined;
    private _locationDetails;
    get locationDetails(): AiLanguageModelTestStrategyValidationDatasetLocationDetailsOutputReference;
    putLocationDetails(value: AiLanguageModelTestStrategyValidationDatasetLocationDetails): void;
    resetLocationDetails(): void;
    get locationDetailsInput(): AiLanguageModelTestStrategyValidationDatasetLocationDetails | undefined;
}
export interface AiLanguageModelTestStrategy {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#strategy_type AiLanguageModel#strategy_type}
    */
    readonly strategyType: string;
    /**
    * testing_dataset block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#testing_dataset AiLanguageModel#testing_dataset}
    */
    readonly testingDataset: AiLanguageModelTestStrategyTestingDataset;
    /**
    * validation_dataset block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#validation_dataset AiLanguageModel#validation_dataset}
    */
    readonly validationDataset?: AiLanguageModelTestStrategyValidationDataset;
}
export declare function aiLanguageModelTestStrategyToTerraform(struct?: AiLanguageModelTestStrategyOutputReference | AiLanguageModelTestStrategy): any;
export declare function aiLanguageModelTestStrategyToHclTerraform(struct?: AiLanguageModelTestStrategyOutputReference | AiLanguageModelTestStrategy): any;
export declare class AiLanguageModelTestStrategyOutputReference 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(): AiLanguageModelTestStrategy | undefined;
    set internalValue(value: AiLanguageModelTestStrategy | undefined);
    private _strategyType?;
    get strategyType(): string;
    set strategyType(value: string);
    get strategyTypeInput(): string | undefined;
    private _testingDataset;
    get testingDataset(): AiLanguageModelTestStrategyTestingDatasetOutputReference;
    putTestingDataset(value: AiLanguageModelTestStrategyTestingDataset): void;
    get testingDatasetInput(): AiLanguageModelTestStrategyTestingDataset | undefined;
    private _validationDataset;
    get validationDataset(): AiLanguageModelTestStrategyValidationDatasetOutputReference;
    putValidationDataset(value: AiLanguageModelTestStrategyValidationDataset): void;
    resetValidationDataset(): void;
    get validationDatasetInput(): AiLanguageModelTestStrategyValidationDataset | undefined;
}
export interface AiLanguageModelTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#create AiLanguageModel#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#delete AiLanguageModel#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#update AiLanguageModel#update}
    */
    readonly update?: string;
}
export declare function aiLanguageModelTimeoutsToTerraform(struct?: AiLanguageModelTimeouts | cdktf.IResolvable): any;
export declare function aiLanguageModelTimeoutsToHclTerraform(struct?: AiLanguageModelTimeouts | cdktf.IResolvable): any;
export declare class AiLanguageModelTimeoutsOutputReference 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(): AiLanguageModelTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: AiLanguageModelTimeouts | 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;
}
export interface AiLanguageModelTrainingDatasetLocationDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#bucket AiLanguageModel#bucket}
    */
    readonly bucket: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#location_type AiLanguageModel#location_type}
    */
    readonly locationType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#namespace AiLanguageModel#namespace}
    */
    readonly namespace: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#object_names AiLanguageModel#object_names}
    */
    readonly objectNames: string[];
}
export declare function aiLanguageModelTrainingDatasetLocationDetailsToTerraform(struct?: AiLanguageModelTrainingDatasetLocationDetailsOutputReference | AiLanguageModelTrainingDatasetLocationDetails): any;
export declare function aiLanguageModelTrainingDatasetLocationDetailsToHclTerraform(struct?: AiLanguageModelTrainingDatasetLocationDetailsOutputReference | AiLanguageModelTrainingDatasetLocationDetails): any;
export declare class AiLanguageModelTrainingDatasetLocationDetailsOutputReference 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(): AiLanguageModelTrainingDatasetLocationDetails | undefined;
    set internalValue(value: AiLanguageModelTrainingDatasetLocationDetails | undefined);
    private _bucket?;
    get bucket(): string;
    set bucket(value: string);
    get bucketInput(): string | undefined;
    private _locationType?;
    get locationType(): string;
    set locationType(value: string);
    get locationTypeInput(): string | undefined;
    private _namespace?;
    get namespace(): string;
    set namespace(value: string);
    get namespaceInput(): string | undefined;
    private _objectNames?;
    get objectNames(): string[];
    set objectNames(value: string[]);
    get objectNamesInput(): string[] | undefined;
}
export interface AiLanguageModelTrainingDataset {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#dataset_id AiLanguageModel#dataset_id}
    */
    readonly datasetId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#dataset_type AiLanguageModel#dataset_type}
    */
    readonly datasetType: string;
    /**
    * location_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#location_details AiLanguageModel#location_details}
    */
    readonly locationDetails?: AiLanguageModelTrainingDatasetLocationDetails;
}
export declare function aiLanguageModelTrainingDatasetToTerraform(struct?: AiLanguageModelTrainingDatasetOutputReference | AiLanguageModelTrainingDataset): any;
export declare function aiLanguageModelTrainingDatasetToHclTerraform(struct?: AiLanguageModelTrainingDatasetOutputReference | AiLanguageModelTrainingDataset): any;
export declare class AiLanguageModelTrainingDatasetOutputReference 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(): AiLanguageModelTrainingDataset | undefined;
    set internalValue(value: AiLanguageModelTrainingDataset | undefined);
    private _datasetId?;
    get datasetId(): string;
    set datasetId(value: string);
    resetDatasetId(): void;
    get datasetIdInput(): string | undefined;
    private _datasetType?;
    get datasetType(): string;
    set datasetType(value: string);
    get datasetTypeInput(): string | undefined;
    private _locationDetails;
    get locationDetails(): AiLanguageModelTrainingDatasetLocationDetailsOutputReference;
    putLocationDetails(value: AiLanguageModelTrainingDatasetLocationDetails): void;
    resetLocationDetails(): void;
    get locationDetailsInput(): AiLanguageModelTrainingDatasetLocationDetails | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model oci_ai_language_model}
*/
export declare class AiLanguageModel extends cdktf.TerraformResource {
    static readonly tfResourceType = "oci_ai_language_model";
    /**
    * Generates CDKTF code for importing a AiLanguageModel 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 AiLanguageModel to import
    * @param importFromId The id of the existing AiLanguageModel that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/ai_language_model#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the AiLanguageModel 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/ai_language_model oci_ai_language_model} 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 AiLanguageModelConfig
    */
    constructor(scope: Construct, id: string, config: AiLanguageModelConfig);
    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 _evaluationResults;
    get evaluationResults(): AiLanguageModelEvaluationResultsList;
    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;
    get lifecycleDetails(): string;
    private _projectId?;
    get projectId(): string;
    set projectId(value: string);
    get projectIdInput(): string | undefined;
    get state(): string;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    get timeCreated(): string;
    get timeUpdated(): string;
    get version(): string;
    private _modelDetails;
    get modelDetails(): AiLanguageModelModelDetailsOutputReference;
    putModelDetails(value: AiLanguageModelModelDetails): void;
    get modelDetailsInput(): AiLanguageModelModelDetails | undefined;
    private _testStrategy;
    get testStrategy(): AiLanguageModelTestStrategyOutputReference;
    putTestStrategy(value: AiLanguageModelTestStrategy): void;
    resetTestStrategy(): void;
    get testStrategyInput(): AiLanguageModelTestStrategy | undefined;
    private _timeouts;
    get timeouts(): AiLanguageModelTimeoutsOutputReference;
    putTimeouts(value: AiLanguageModelTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | AiLanguageModelTimeouts | undefined;
    private _trainingDataset;
    get trainingDataset(): AiLanguageModelTrainingDatasetOutputReference;
    putTrainingDataset(value: AiLanguageModelTrainingDataset): void;
    get trainingDatasetInput(): AiLanguageModelTrainingDataset | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
