import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataOciCertificatesManagementCertificateConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/certificates_management_certificate#certificate_id DataOciCertificatesManagementCertificate#certificate_id}
    */
    readonly certificateId: string;
}
export interface DataOciCertificatesManagementCertificateCertificateConfigSubject {
}
export declare function dataOciCertificatesManagementCertificateCertificateConfigSubjectToTerraform(struct?: DataOciCertificatesManagementCertificateCertificateConfigSubject): any;
export declare function dataOciCertificatesManagementCertificateCertificateConfigSubjectToHclTerraform(struct?: DataOciCertificatesManagementCertificateCertificateConfigSubject): any;
export declare class DataOciCertificatesManagementCertificateCertificateConfigSubjectOutputReference 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(): DataOciCertificatesManagementCertificateCertificateConfigSubject | undefined;
    set internalValue(value: DataOciCertificatesManagementCertificateCertificateConfigSubject | undefined);
    get commonName(): string;
    get country(): string;
    get distinguishedNameQualifier(): string;
    get domainComponent(): string;
    get generationQualifier(): string;
    get givenName(): string;
    get initials(): string;
    get localityName(): string;
    get organization(): string;
    get organizationalUnit(): string;
    get pseudonym(): string;
    get serialNumber(): string;
    get stateOrProvinceName(): string;
    get street(): string;
    get surname(): string;
    get title(): string;
    get userId(): string;
}
export declare class DataOciCertificatesManagementCertificateCertificateConfigSubjectList 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): DataOciCertificatesManagementCertificateCertificateConfigSubjectOutputReference;
}
export interface DataOciCertificatesManagementCertificateCertificateConfigSubjectAlternativeNames {
}
export declare function dataOciCertificatesManagementCertificateCertificateConfigSubjectAlternativeNamesToTerraform(struct?: DataOciCertificatesManagementCertificateCertificateConfigSubjectAlternativeNames): any;
export declare function dataOciCertificatesManagementCertificateCertificateConfigSubjectAlternativeNamesToHclTerraform(struct?: DataOciCertificatesManagementCertificateCertificateConfigSubjectAlternativeNames): any;
export declare class DataOciCertificatesManagementCertificateCertificateConfigSubjectAlternativeNamesOutputReference 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(): DataOciCertificatesManagementCertificateCertificateConfigSubjectAlternativeNames | undefined;
    set internalValue(value: DataOciCertificatesManagementCertificateCertificateConfigSubjectAlternativeNames | undefined);
    get type(): string;
    get value(): string;
}
export declare class DataOciCertificatesManagementCertificateCertificateConfigSubjectAlternativeNamesList 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): DataOciCertificatesManagementCertificateCertificateConfigSubjectAlternativeNamesOutputReference;
}
export interface DataOciCertificatesManagementCertificateCertificateConfigValidity {
}
export declare function dataOciCertificatesManagementCertificateCertificateConfigValidityToTerraform(struct?: DataOciCertificatesManagementCertificateCertificateConfigValidity): any;
export declare function dataOciCertificatesManagementCertificateCertificateConfigValidityToHclTerraform(struct?: DataOciCertificatesManagementCertificateCertificateConfigValidity): any;
export declare class DataOciCertificatesManagementCertificateCertificateConfigValidityOutputReference 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(): DataOciCertificatesManagementCertificateCertificateConfigValidity | undefined;
    set internalValue(value: DataOciCertificatesManagementCertificateCertificateConfigValidity | undefined);
    get timeOfValidityNotAfter(): string;
    get timeOfValidityNotBefore(): string;
}
export declare class DataOciCertificatesManagementCertificateCertificateConfigValidityList 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): DataOciCertificatesManagementCertificateCertificateConfigValidityOutputReference;
}
export interface DataOciCertificatesManagementCertificateCertificateConfig {
}
export declare function dataOciCertificatesManagementCertificateCertificateConfigToTerraform(struct?: DataOciCertificatesManagementCertificateCertificateConfig): any;
export declare function dataOciCertificatesManagementCertificateCertificateConfigToHclTerraform(struct?: DataOciCertificatesManagementCertificateCertificateConfig): any;
export declare class DataOciCertificatesManagementCertificateCertificateConfigOutputReference 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(): DataOciCertificatesManagementCertificateCertificateConfig | undefined;
    set internalValue(value: DataOciCertificatesManagementCertificateCertificateConfig | undefined);
    get certificateProfileType(): string;
    get configType(): string;
    get csrPem(): string;
    get issuerCertificateAuthorityId(): string;
    get keyAlgorithm(): string;
    get signatureAlgorithm(): string;
    private _subject;
    get subject(): DataOciCertificatesManagementCertificateCertificateConfigSubjectList;
    private _subjectAlternativeNames;
    get subjectAlternativeNames(): DataOciCertificatesManagementCertificateCertificateConfigSubjectAlternativeNamesList;
    private _validity;
    get validity(): DataOciCertificatesManagementCertificateCertificateConfigValidityList;
    get versionName(): string;
}
export declare class DataOciCertificatesManagementCertificateCertificateConfigList 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): DataOciCertificatesManagementCertificateCertificateConfigOutputReference;
}
export interface DataOciCertificatesManagementCertificateCertificateRevocationListDetailsObjectStorageConfig {
}
export declare function dataOciCertificatesManagementCertificateCertificateRevocationListDetailsObjectStorageConfigToTerraform(struct?: DataOciCertificatesManagementCertificateCertificateRevocationListDetailsObjectStorageConfig): any;
export declare function dataOciCertificatesManagementCertificateCertificateRevocationListDetailsObjectStorageConfigToHclTerraform(struct?: DataOciCertificatesManagementCertificateCertificateRevocationListDetailsObjectStorageConfig): any;
export declare class DataOciCertificatesManagementCertificateCertificateRevocationListDetailsObjectStorageConfigOutputReference 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(): DataOciCertificatesManagementCertificateCertificateRevocationListDetailsObjectStorageConfig | undefined;
    set internalValue(value: DataOciCertificatesManagementCertificateCertificateRevocationListDetailsObjectStorageConfig | undefined);
    get objectStorageBucketName(): string;
    get objectStorageNamespace(): string;
    get objectStorageObjectNameFormat(): string;
}
export declare class DataOciCertificatesManagementCertificateCertificateRevocationListDetailsObjectStorageConfigList 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): DataOciCertificatesManagementCertificateCertificateRevocationListDetailsObjectStorageConfigOutputReference;
}
export interface DataOciCertificatesManagementCertificateCertificateRevocationListDetails {
}
export declare function dataOciCertificatesManagementCertificateCertificateRevocationListDetailsToTerraform(struct?: DataOciCertificatesManagementCertificateCertificateRevocationListDetails): any;
export declare function dataOciCertificatesManagementCertificateCertificateRevocationListDetailsToHclTerraform(struct?: DataOciCertificatesManagementCertificateCertificateRevocationListDetails): any;
export declare class DataOciCertificatesManagementCertificateCertificateRevocationListDetailsOutputReference 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(): DataOciCertificatesManagementCertificateCertificateRevocationListDetails | undefined;
    set internalValue(value: DataOciCertificatesManagementCertificateCertificateRevocationListDetails | undefined);
    get customFormattedUrls(): string[];
    private _objectStorageConfig;
    get objectStorageConfig(): DataOciCertificatesManagementCertificateCertificateRevocationListDetailsObjectStorageConfigList;
}
export declare class DataOciCertificatesManagementCertificateCertificateRevocationListDetailsList 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): DataOciCertificatesManagementCertificateCertificateRevocationListDetailsOutputReference;
}
export interface DataOciCertificatesManagementCertificateCertificateRules {
}
export declare function dataOciCertificatesManagementCertificateCertificateRulesToTerraform(struct?: DataOciCertificatesManagementCertificateCertificateRules): any;
export declare function dataOciCertificatesManagementCertificateCertificateRulesToHclTerraform(struct?: DataOciCertificatesManagementCertificateCertificateRules): any;
export declare class DataOciCertificatesManagementCertificateCertificateRulesOutputReference 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(): DataOciCertificatesManagementCertificateCertificateRules | undefined;
    set internalValue(value: DataOciCertificatesManagementCertificateCertificateRules | undefined);
    get advanceRenewalPeriod(): string;
    get renewalInterval(): string;
    get ruleType(): string;
}
export declare class DataOciCertificatesManagementCertificateCertificateRulesList 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): DataOciCertificatesManagementCertificateCertificateRulesOutputReference;
}
export interface DataOciCertificatesManagementCertificateCurrentVersionRevocationStatus {
}
export declare function dataOciCertificatesManagementCertificateCurrentVersionRevocationStatusToTerraform(struct?: DataOciCertificatesManagementCertificateCurrentVersionRevocationStatus): any;
export declare function dataOciCertificatesManagementCertificateCurrentVersionRevocationStatusToHclTerraform(struct?: DataOciCertificatesManagementCertificateCurrentVersionRevocationStatus): any;
export declare class DataOciCertificatesManagementCertificateCurrentVersionRevocationStatusOutputReference 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(): DataOciCertificatesManagementCertificateCurrentVersionRevocationStatus | undefined;
    set internalValue(value: DataOciCertificatesManagementCertificateCurrentVersionRevocationStatus | undefined);
    get revocationReason(): string;
    get timeOfRevocation(): string;
}
export declare class DataOciCertificatesManagementCertificateCurrentVersionRevocationStatusList 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): DataOciCertificatesManagementCertificateCurrentVersionRevocationStatusOutputReference;
}
export interface DataOciCertificatesManagementCertificateCurrentVersionSubjectAlternativeNames {
}
export declare function dataOciCertificatesManagementCertificateCurrentVersionSubjectAlternativeNamesToTerraform(struct?: DataOciCertificatesManagementCertificateCurrentVersionSubjectAlternativeNames): any;
export declare function dataOciCertificatesManagementCertificateCurrentVersionSubjectAlternativeNamesToHclTerraform(struct?: DataOciCertificatesManagementCertificateCurrentVersionSubjectAlternativeNames): any;
export declare class DataOciCertificatesManagementCertificateCurrentVersionSubjectAlternativeNamesOutputReference 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(): DataOciCertificatesManagementCertificateCurrentVersionSubjectAlternativeNames | undefined;
    set internalValue(value: DataOciCertificatesManagementCertificateCurrentVersionSubjectAlternativeNames | undefined);
    get type(): string;
    get value(): string;
}
export declare class DataOciCertificatesManagementCertificateCurrentVersionSubjectAlternativeNamesList 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): DataOciCertificatesManagementCertificateCurrentVersionSubjectAlternativeNamesOutputReference;
}
export interface DataOciCertificatesManagementCertificateCurrentVersionValidity {
}
export declare function dataOciCertificatesManagementCertificateCurrentVersionValidityToTerraform(struct?: DataOciCertificatesManagementCertificateCurrentVersionValidity): any;
export declare function dataOciCertificatesManagementCertificateCurrentVersionValidityToHclTerraform(struct?: DataOciCertificatesManagementCertificateCurrentVersionValidity): any;
export declare class DataOciCertificatesManagementCertificateCurrentVersionValidityOutputReference 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(): DataOciCertificatesManagementCertificateCurrentVersionValidity | undefined;
    set internalValue(value: DataOciCertificatesManagementCertificateCurrentVersionValidity | undefined);
    get timeOfValidityNotAfter(): string;
    get timeOfValidityNotBefore(): string;
}
export declare class DataOciCertificatesManagementCertificateCurrentVersionValidityList 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): DataOciCertificatesManagementCertificateCurrentVersionValidityOutputReference;
}
export interface DataOciCertificatesManagementCertificateCurrentVersion {
}
export declare function dataOciCertificatesManagementCertificateCurrentVersionToTerraform(struct?: DataOciCertificatesManagementCertificateCurrentVersion): any;
export declare function dataOciCertificatesManagementCertificateCurrentVersionToHclTerraform(struct?: DataOciCertificatesManagementCertificateCurrentVersion): any;
export declare class DataOciCertificatesManagementCertificateCurrentVersionOutputReference 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(): DataOciCertificatesManagementCertificateCurrentVersion | undefined;
    set internalValue(value: DataOciCertificatesManagementCertificateCurrentVersion | undefined);
    get certificateId(): string;
    get issuerCaVersionNumber(): string;
    private _revocationStatus;
    get revocationStatus(): DataOciCertificatesManagementCertificateCurrentVersionRevocationStatusList;
    get serialNumber(): string;
    get stages(): string[];
    private _subjectAlternativeNames;
    get subjectAlternativeNames(): DataOciCertificatesManagementCertificateCurrentVersionSubjectAlternativeNamesList;
    get timeCreated(): string;
    get timeOfDeletion(): string;
    private _validity;
    get validity(): DataOciCertificatesManagementCertificateCurrentVersionValidityList;
    get versionName(): string;
    get versionNumber(): string;
}
export declare class DataOciCertificatesManagementCertificateCurrentVersionList 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): DataOciCertificatesManagementCertificateCurrentVersionOutputReference;
}
export interface DataOciCertificatesManagementCertificateSubject {
}
export declare function dataOciCertificatesManagementCertificateSubjectToTerraform(struct?: DataOciCertificatesManagementCertificateSubject): any;
export declare function dataOciCertificatesManagementCertificateSubjectToHclTerraform(struct?: DataOciCertificatesManagementCertificateSubject): any;
export declare class DataOciCertificatesManagementCertificateSubjectOutputReference 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(): DataOciCertificatesManagementCertificateSubject | undefined;
    set internalValue(value: DataOciCertificatesManagementCertificateSubject | undefined);
    get commonName(): string;
    get country(): string;
    get distinguishedNameQualifier(): string;
    get domainComponent(): string;
    get generationQualifier(): string;
    get givenName(): string;
    get initials(): string;
    get localityName(): string;
    get organization(): string;
    get organizationalUnit(): string;
    get pseudonym(): string;
    get serialNumber(): string;
    get stateOrProvinceName(): string;
    get street(): string;
    get surname(): string;
    get title(): string;
    get userId(): string;
}
export declare class DataOciCertificatesManagementCertificateSubjectList 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): DataOciCertificatesManagementCertificateSubjectOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/certificates_management_certificate oci_certificates_management_certificate}
*/
export declare class DataOciCertificatesManagementCertificate extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "oci_certificates_management_certificate";
    /**
    * Generates CDKTF code for importing a DataOciCertificatesManagementCertificate 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 DataOciCertificatesManagementCertificate to import
    * @param importFromId The id of the existing DataOciCertificatesManagementCertificate that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/certificates_management_certificate#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataOciCertificatesManagementCertificate 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/data-sources/certificates_management_certificate oci_certificates_management_certificate} Data Source
    *
    * @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 DataOciCertificatesManagementCertificateConfig
    */
    constructor(scope: Construct, id: string, config: DataOciCertificatesManagementCertificateConfig);
    private _certificateConfig;
    get certificateConfig(): DataOciCertificatesManagementCertificateCertificateConfigList;
    private _certificateId?;
    get certificateId(): string;
    set certificateId(value: string);
    get certificateIdInput(): string | undefined;
    get certificateProfileType(): string;
    private _certificateRevocationListDetails;
    get certificateRevocationListDetails(): DataOciCertificatesManagementCertificateCertificateRevocationListDetailsList;
    private _certificateRules;
    get certificateRules(): DataOciCertificatesManagementCertificateCertificateRulesList;
    get compartmentId(): string;
    get configType(): string;
    private _currentVersion;
    get currentVersion(): DataOciCertificatesManagementCertificateCurrentVersionList;
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    get description(): string;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    get id(): string;
    get issuerCertificateAuthorityId(): string;
    get keyAlgorithm(): string;
    get lifecycleDetails(): string;
    get name(): string;
    get signatureAlgorithm(): string;
    get state(): string;
    private _subject;
    get subject(): DataOciCertificatesManagementCertificateSubjectList;
    get timeCreated(): string;
    get timeOfDeletion(): string;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
