import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific Invoice resource in Oracle Cloud Infrastructure Osp Gateway service.
 *
 * Returns an invoice by invoice id
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testInvoice = oci.ospgateway.getInvoice({
 *     compartmentId: compartmentId,
 *     internalInvoiceId: testInvoiceOciOspGatewayInvoice.id,
 *     ospHomeRegion: invoiceOspHomeRegion,
 * });
 * ```
 */
export declare function getInvoice(args: GetInvoiceArgs, opts?: pulumi.InvokeOptions): Promise<GetInvoiceResult>;
/**
 * A collection of arguments for invoking getInvoice.
 */
export interface GetInvoiceArgs {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
     */
    compartmentId: string;
    /**
     * The identifier of the invoice.
     */
    internalInvoiceId: string;
    /**
     * The home region's public name of the logged in user.
     */
    ospHomeRegion: string;
}
/**
 * A collection of values returned by getInvoice.
 */
export interface GetInvoiceResult {
    /**
     * Address details model
     */
    readonly billToAddresses: outputs.OspGateway.GetInvoiceBillToAddress[];
    readonly compartmentId: string;
    /**
     * Currency details model
     */
    readonly currencies: outputs.OspGateway.GetInvoiceCurrency[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Transaction identifier
     */
    readonly internalInvoiceId: string;
    /**
     * Total amount of invoice
     */
    readonly invoiceAmount: number;
    /**
     * Invoice amount adjust
     */
    readonly invoiceAmountAdjusted: number;
    /**
     * Invoice amount applied
     */
    readonly invoiceAmountApplied: number;
    /**
     * Invoice amount credit
     */
    readonly invoiceAmountCredited: number;
    /**
     * Balance of invoice
     */
    readonly invoiceAmountDue: number;
    /**
     * Invoice identifier which is generated on the on-premise sie. Pls note this is not an OCID
     */
    readonly invoiceId: string;
    /**
     * Invoice external reference
     */
    readonly invoiceNumber: string;
    /**
     * Invoice PO number
     */
    readonly invoicePoNumber: string;
    /**
     * Invoice reference number
     */
    readonly invoiceRefNumber: string;
    /**
     * Invoice status
     */
    readonly invoiceStatus: string;
    /**
     * Type of invoice
     */
    readonly invoiceType: string;
    /**
     * Is credit card payment eligible
     */
    readonly isCreditCardPayable: boolean;
    /**
     * Is pdf download access allowed
     */
    readonly isDisplayDownloadPdf: boolean;
    /**
     * Whether invoice can be payed
     */
    readonly isPayable: boolean;
    /**
     * Is emailing pdf allowed
     */
    readonly isPdfEmailAvailable: boolean;
    /**
     * Payment related details
     */
    readonly lastPaymentDetails: outputs.OspGateway.GetInvoiceLastPaymentDetail[];
    readonly ospHomeRegion: string;
    /**
     * Payment terms
     */
    readonly paymentTerms: string;
    /**
     * Preferred Email on the invoice
     */
    readonly preferredEmail: string;
    /**
     * List of subscription identifiers
     */
    readonly subscriptionIds: string[];
    /**
     * Tax of invoice amount
     */
    readonly tax: number;
    /**
     * Date of invoice
     */
    readonly timeInvoice: string;
    /**
     * Due date of invoice
     */
    readonly timeInvoiceDue: string;
}
/**
 * This data source provides details about a specific Invoice resource in Oracle Cloud Infrastructure Osp Gateway service.
 *
 * Returns an invoice by invoice id
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testInvoice = oci.ospgateway.getInvoice({
 *     compartmentId: compartmentId,
 *     internalInvoiceId: testInvoiceOciOspGatewayInvoice.id,
 *     ospHomeRegion: invoiceOspHomeRegion,
 * });
 * ```
 */
export declare function getInvoiceOutput(args: GetInvoiceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetInvoiceResult>;
/**
 * A collection of arguments for invoking getInvoice.
 */
export interface GetInvoiceOutputArgs {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
     */
    compartmentId: pulumi.Input<string>;
    /**
     * The identifier of the invoice.
     */
    internalInvoiceId: pulumi.Input<string>;
    /**
     * The home region's public name of the logged in user.
     */
    ospHomeRegion: pulumi.Input<string>;
}
//# sourceMappingURL=getInvoice.d.ts.map