import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataOciOspGatewaySubscriptionConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/osp_gateway_subscription#compartment_id DataOciOspGatewaySubscription#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/osp_gateway_subscription#osp_home_region DataOciOspGatewaySubscription#osp_home_region}
    */
    readonly ospHomeRegion: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/osp_gateway_subscription#subscription_id DataOciOspGatewaySubscription#subscription_id}
    */
    readonly subscriptionId: string;
}
export interface DataOciOspGatewaySubscriptionBillingAddress {
}
export declare function dataOciOspGatewaySubscriptionBillingAddressToTerraform(struct?: DataOciOspGatewaySubscriptionBillingAddress): any;
export declare function dataOciOspGatewaySubscriptionBillingAddressToHclTerraform(struct?: DataOciOspGatewaySubscriptionBillingAddress): any;
export declare class DataOciOspGatewaySubscriptionBillingAddressOutputReference 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(): DataOciOspGatewaySubscriptionBillingAddress | undefined;
    set internalValue(value: DataOciOspGatewaySubscriptionBillingAddress | undefined);
    get addressKey(): string;
    get city(): string;
    get companyName(): string;
    get contributorClass(): string;
    get country(): string;
    get county(): string;
    get departmentName(): string;
    get emailAddress(): string;
    get firstName(): string;
    get internalNumber(): string;
    get jobTitle(): string;
    get lastName(): string;
    get line1(): string;
    get line2(): string;
    get line3(): string;
    get line4(): string;
    get middleName(): string;
    get municipalInscription(): string;
    get phoneCountryCode(): string;
    get phoneNumber(): string;
    get postalCode(): string;
    get province(): string;
    get state(): string;
    get stateInscription(): string;
    get streetName(): string;
    get streetNumber(): string;
}
export declare class DataOciOspGatewaySubscriptionBillingAddressList 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): DataOciOspGatewaySubscriptionBillingAddressOutputReference;
}
export interface DataOciOspGatewaySubscriptionPaymentGatewayMerchantDefinedData {
}
export declare function dataOciOspGatewaySubscriptionPaymentGatewayMerchantDefinedDataToTerraform(struct?: DataOciOspGatewaySubscriptionPaymentGatewayMerchantDefinedData): any;
export declare function dataOciOspGatewaySubscriptionPaymentGatewayMerchantDefinedDataToHclTerraform(struct?: DataOciOspGatewaySubscriptionPaymentGatewayMerchantDefinedData): any;
export declare class DataOciOspGatewaySubscriptionPaymentGatewayMerchantDefinedDataOutputReference 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(): DataOciOspGatewaySubscriptionPaymentGatewayMerchantDefinedData | undefined;
    set internalValue(value: DataOciOspGatewaySubscriptionPaymentGatewayMerchantDefinedData | undefined);
    get cloudAccountName(): string;
    get promoType(): string;
}
export declare class DataOciOspGatewaySubscriptionPaymentGatewayMerchantDefinedDataList 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): DataOciOspGatewaySubscriptionPaymentGatewayMerchantDefinedDataOutputReference;
}
export interface DataOciOspGatewaySubscriptionPaymentGateway {
}
export declare function dataOciOspGatewaySubscriptionPaymentGatewayToTerraform(struct?: DataOciOspGatewaySubscriptionPaymentGateway): any;
export declare function dataOciOspGatewaySubscriptionPaymentGatewayToHclTerraform(struct?: DataOciOspGatewaySubscriptionPaymentGateway): any;
export declare class DataOciOspGatewaySubscriptionPaymentGatewayOutputReference 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(): DataOciOspGatewaySubscriptionPaymentGateway | undefined;
    set internalValue(value: DataOciOspGatewaySubscriptionPaymentGateway | undefined);
    private _merchantDefinedData;
    get merchantDefinedData(): DataOciOspGatewaySubscriptionPaymentGatewayMerchantDefinedDataList;
}
export declare class DataOciOspGatewaySubscriptionPaymentGatewayList 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): DataOciOspGatewaySubscriptionPaymentGatewayOutputReference;
}
export interface DataOciOspGatewaySubscriptionPaymentOptions {
}
export declare function dataOciOspGatewaySubscriptionPaymentOptionsToTerraform(struct?: DataOciOspGatewaySubscriptionPaymentOptions): any;
export declare function dataOciOspGatewaySubscriptionPaymentOptionsToHclTerraform(struct?: DataOciOspGatewaySubscriptionPaymentOptions): any;
export declare class DataOciOspGatewaySubscriptionPaymentOptionsOutputReference 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(): DataOciOspGatewaySubscriptionPaymentOptions | undefined;
    set internalValue(value: DataOciOspGatewaySubscriptionPaymentOptions | undefined);
    get creditCardType(): string;
    get emailAddress(): string;
    get extBillingAgreementId(): string;
    get firstName(): string;
    get lastDigits(): string;
    get lastName(): string;
    get nameOnCard(): string;
    get paymentMethod(): string;
    get timeExpiration(): string;
    get walletInstrumentId(): string;
    get walletTransactionId(): string;
}
export declare class DataOciOspGatewaySubscriptionPaymentOptionsList 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): DataOciOspGatewaySubscriptionPaymentOptionsOutputReference;
}
export interface DataOciOspGatewaySubscriptionSubscriptionBillingAddress {
}
export declare function dataOciOspGatewaySubscriptionSubscriptionBillingAddressToTerraform(struct?: DataOciOspGatewaySubscriptionSubscriptionBillingAddress): any;
export declare function dataOciOspGatewaySubscriptionSubscriptionBillingAddressToHclTerraform(struct?: DataOciOspGatewaySubscriptionSubscriptionBillingAddress): any;
export declare class DataOciOspGatewaySubscriptionSubscriptionBillingAddressOutputReference 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(): DataOciOspGatewaySubscriptionSubscriptionBillingAddress | undefined;
    set internalValue(value: DataOciOspGatewaySubscriptionSubscriptionBillingAddress | undefined);
    get addressKey(): string;
    get city(): string;
    get companyName(): string;
    get contributorClass(): string;
    get country(): string;
    get county(): string;
    get departmentName(): string;
    get emailAddress(): string;
    get firstName(): string;
    get internalNumber(): string;
    get jobTitle(): string;
    get lastName(): string;
    get line1(): string;
    get line2(): string;
    get line3(): string;
    get line4(): string;
    get middleName(): string;
    get municipalInscription(): string;
    get phoneCountryCode(): string;
    get phoneNumber(): string;
    get postalCode(): string;
    get province(): string;
    get state(): string;
    get stateInscription(): string;
    get streetName(): string;
    get streetNumber(): string;
}
export declare class DataOciOspGatewaySubscriptionSubscriptionBillingAddressList 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): DataOciOspGatewaySubscriptionSubscriptionBillingAddressOutputReference;
}
export interface DataOciOspGatewaySubscriptionSubscriptionPaymentGatewayMerchantDefinedData {
}
export declare function dataOciOspGatewaySubscriptionSubscriptionPaymentGatewayMerchantDefinedDataToTerraform(struct?: DataOciOspGatewaySubscriptionSubscriptionPaymentGatewayMerchantDefinedData): any;
export declare function dataOciOspGatewaySubscriptionSubscriptionPaymentGatewayMerchantDefinedDataToHclTerraform(struct?: DataOciOspGatewaySubscriptionSubscriptionPaymentGatewayMerchantDefinedData): any;
export declare class DataOciOspGatewaySubscriptionSubscriptionPaymentGatewayMerchantDefinedDataOutputReference 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(): DataOciOspGatewaySubscriptionSubscriptionPaymentGatewayMerchantDefinedData | undefined;
    set internalValue(value: DataOciOspGatewaySubscriptionSubscriptionPaymentGatewayMerchantDefinedData | undefined);
    get cloudAccountName(): string;
    get promoType(): string;
}
export declare class DataOciOspGatewaySubscriptionSubscriptionPaymentGatewayMerchantDefinedDataList 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): DataOciOspGatewaySubscriptionSubscriptionPaymentGatewayMerchantDefinedDataOutputReference;
}
export interface DataOciOspGatewaySubscriptionSubscriptionPaymentGateway {
}
export declare function dataOciOspGatewaySubscriptionSubscriptionPaymentGatewayToTerraform(struct?: DataOciOspGatewaySubscriptionSubscriptionPaymentGateway): any;
export declare function dataOciOspGatewaySubscriptionSubscriptionPaymentGatewayToHclTerraform(struct?: DataOciOspGatewaySubscriptionSubscriptionPaymentGateway): any;
export declare class DataOciOspGatewaySubscriptionSubscriptionPaymentGatewayOutputReference 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(): DataOciOspGatewaySubscriptionSubscriptionPaymentGateway | undefined;
    set internalValue(value: DataOciOspGatewaySubscriptionSubscriptionPaymentGateway | undefined);
    private _merchantDefinedData;
    get merchantDefinedData(): DataOciOspGatewaySubscriptionSubscriptionPaymentGatewayMerchantDefinedDataList;
}
export declare class DataOciOspGatewaySubscriptionSubscriptionPaymentGatewayList 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): DataOciOspGatewaySubscriptionSubscriptionPaymentGatewayOutputReference;
}
export interface DataOciOspGatewaySubscriptionSubscriptionPaymentOptions {
}
export declare function dataOciOspGatewaySubscriptionSubscriptionPaymentOptionsToTerraform(struct?: DataOciOspGatewaySubscriptionSubscriptionPaymentOptions): any;
export declare function dataOciOspGatewaySubscriptionSubscriptionPaymentOptionsToHclTerraform(struct?: DataOciOspGatewaySubscriptionSubscriptionPaymentOptions): any;
export declare class DataOciOspGatewaySubscriptionSubscriptionPaymentOptionsOutputReference 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(): DataOciOspGatewaySubscriptionSubscriptionPaymentOptions | undefined;
    set internalValue(value: DataOciOspGatewaySubscriptionSubscriptionPaymentOptions | undefined);
    get creditCardType(): string;
    get emailAddress(): string;
    get extBillingAgreementId(): string;
    get firstName(): string;
    get lastDigits(): string;
    get lastName(): string;
    get nameOnCard(): string;
    get paymentMethod(): string;
    get timeExpiration(): string;
    get walletInstrumentId(): string;
    get walletTransactionId(): string;
}
export declare class DataOciOspGatewaySubscriptionSubscriptionPaymentOptionsList 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): DataOciOspGatewaySubscriptionSubscriptionPaymentOptionsOutputReference;
}
export interface DataOciOspGatewaySubscriptionSubscriptionTaxInfo {
}
export declare function dataOciOspGatewaySubscriptionSubscriptionTaxInfoToTerraform(struct?: DataOciOspGatewaySubscriptionSubscriptionTaxInfo): any;
export declare function dataOciOspGatewaySubscriptionSubscriptionTaxInfoToHclTerraform(struct?: DataOciOspGatewaySubscriptionSubscriptionTaxInfo): any;
export declare class DataOciOspGatewaySubscriptionSubscriptionTaxInfoOutputReference 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(): DataOciOspGatewaySubscriptionSubscriptionTaxInfo | undefined;
    set internalValue(value: DataOciOspGatewaySubscriptionSubscriptionTaxInfo | undefined);
    get noTaxReasonCode(): string;
    get noTaxReasonCodeDetails(): string;
    get taxCnpj(): string;
    get taxPayerId(): string;
    get taxRegNumber(): string;
}
export declare class DataOciOspGatewaySubscriptionSubscriptionTaxInfoList 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): DataOciOspGatewaySubscriptionSubscriptionTaxInfoOutputReference;
}
export interface DataOciOspGatewaySubscriptionSubscription {
}
export declare function dataOciOspGatewaySubscriptionSubscriptionToTerraform(struct?: DataOciOspGatewaySubscriptionSubscription): any;
export declare function dataOciOspGatewaySubscriptionSubscriptionToHclTerraform(struct?: DataOciOspGatewaySubscriptionSubscription): any;
export declare class DataOciOspGatewaySubscriptionSubscriptionOutputReference 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(): DataOciOspGatewaySubscriptionSubscription | undefined;
    set internalValue(value: DataOciOspGatewaySubscriptionSubscription | undefined);
    get accountType(): string;
    get billToCustAccountId(): string;
    private _billingAddress;
    get billingAddress(): DataOciOspGatewaySubscriptionSubscriptionBillingAddressList;
    get currencyCode(): string;
    get gsiOrgCode(): string;
    get id(): string;
    get isIntentToPay(): cdktf.IResolvable;
    get languageCode(): string;
    get organizationId(): string;
    private _paymentGateway;
    get paymentGateway(): DataOciOspGatewaySubscriptionSubscriptionPaymentGatewayList;
    private _paymentOptions;
    get paymentOptions(): DataOciOspGatewaySubscriptionSubscriptionPaymentOptionsList;
    get planType(): string;
    get shipToCustAcctRoleId(): string;
    get shipToCustAcctSiteId(): string;
    get subscriptionPlanNumber(): string;
    private _taxInfo;
    get taxInfo(): DataOciOspGatewaySubscriptionSubscriptionTaxInfoList;
    get timePersonalToCorporateConv(): string;
    get timePlanUpgrade(): string;
    get timeStart(): string;
    get upgradeState(): string;
    get upgradeStateDetails(): string;
}
export declare class DataOciOspGatewaySubscriptionSubscriptionList 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): DataOciOspGatewaySubscriptionSubscriptionOutputReference;
}
export interface DataOciOspGatewaySubscriptionTaxInfo {
}
export declare function dataOciOspGatewaySubscriptionTaxInfoToTerraform(struct?: DataOciOspGatewaySubscriptionTaxInfo): any;
export declare function dataOciOspGatewaySubscriptionTaxInfoToHclTerraform(struct?: DataOciOspGatewaySubscriptionTaxInfo): any;
export declare class DataOciOspGatewaySubscriptionTaxInfoOutputReference 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(): DataOciOspGatewaySubscriptionTaxInfo | undefined;
    set internalValue(value: DataOciOspGatewaySubscriptionTaxInfo | undefined);
    get giro(): string;
    get noTaxReasonCode(): string;
    get noTaxReasonCodeDetails(): string;
    get taxCnpj(): string;
    get taxPayerId(): string;
    get taxRegNumber(): string;
}
export declare class DataOciOspGatewaySubscriptionTaxInfoList 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): DataOciOspGatewaySubscriptionTaxInfoOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/osp_gateway_subscription oci_osp_gateway_subscription}
*/
export declare class DataOciOspGatewaySubscription extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "oci_osp_gateway_subscription";
    /**
    * Generates CDKTF code for importing a DataOciOspGatewaySubscription 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 DataOciOspGatewaySubscription to import
    * @param importFromId The id of the existing DataOciOspGatewaySubscription that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/osp_gateway_subscription#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataOciOspGatewaySubscription 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/osp_gateway_subscription oci_osp_gateway_subscription} 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 DataOciOspGatewaySubscriptionConfig
    */
    constructor(scope: Construct, id: string, config: DataOciOspGatewaySubscriptionConfig);
    get accountType(): string;
    get billToCustAccountId(): string;
    private _billingAddress;
    get billingAddress(): DataOciOspGatewaySubscriptionBillingAddressList;
    private _compartmentId?;
    get compartmentId(): string;
    set compartmentId(value: string);
    get compartmentIdInput(): string | undefined;
    get currencyCode(): string;
    get email(): string;
    get gsiOrgCode(): string;
    get id(): string;
    get isIntentToPay(): cdktf.IResolvable;
    get languageCode(): string;
    get organizationId(): string;
    private _ospHomeRegion?;
    get ospHomeRegion(): string;
    set ospHomeRegion(value: string);
    get ospHomeRegionInput(): string | undefined;
    private _paymentGateway;
    get paymentGateway(): DataOciOspGatewaySubscriptionPaymentGatewayList;
    private _paymentOptions;
    get paymentOptions(): DataOciOspGatewaySubscriptionPaymentOptionsList;
    get planType(): string;
    get shipToCustAcctRoleId(): string;
    get shipToCustAcctSiteId(): string;
    private _subscription;
    get subscription(): DataOciOspGatewaySubscriptionSubscriptionList;
    private _subscriptionId?;
    get subscriptionId(): string;
    set subscriptionId(value: string);
    get subscriptionIdInput(): string | undefined;
    get subscriptionPlanNumber(): string;
    private _taxInfo;
    get taxInfo(): DataOciOspGatewaySubscriptionTaxInfoList;
    get timePersonalToCorporateConv(): string;
    get timePlanUpgrade(): string;
    get timeStart(): string;
    get upgradeState(): string;
    get upgradeStateDetails(): string;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
