import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This data source provides the list of Invoices in Oracle Cloud Infrastructure Osp Gateway service.
 *
 * Returns a list of invoices
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testInvoices = oci.ospgateway.getInvoices({
 *     compartmentId: compartmentId,
 *     ospHomeRegion: invoiceOspHomeRegion,
 *     invoiceId: testInvoice.id,
 *     searchText: invoiceSearchText,
 *     statuses: invoiceStatus,
 *     timeInvoiceEnd: invoiceTimeInvoiceEnd,
 *     timeInvoiceStart: invoiceTimeInvoiceStart,
 *     timePaymentEnd: invoiceTimePaymentEnd,
 *     timePaymentStart: invoiceTimePaymentStart,
 *     types: invoiceType,
 * });
 * ```
 */
export declare function getInvoices(args: GetInvoicesArgs, opts?: pulumi.InvokeOptions): Promise<GetInvoicesResult>;
/**
 * A collection of arguments for invoking getInvoices.
 */
export interface GetInvoicesArgs {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
     */
    compartmentId: string;
    filters?: inputs.OspGateway.GetInvoicesFilter[];
    /**
     * The invoice query param (not unique).
     */
    invoiceId?: string;
    /**
     * The home region's public name of the logged in user.
     */
    ospHomeRegion: string;
    /**
     * A filter to only return resources that match the given value. Looking for partial matches in the following fileds: Invoice No., Reference No. (plan number), Payment Ref, Total Amount(plan number), Balance Due(plan number) and Party/Customer Name
     */
    searchText?: string;
    /**
     * A filter to only return resources that match one of the status elements.
     */
    statuses?: string[];
    /**
     * description: End time (UTC) of the target invoice date range for which to fetch invoice data (exclusive).
     */
    timeInvoiceEnd?: string;
    /**
     * description: Start time (UTC) of the target invoice date range for which to fetch invoice data (inclusive).
     */
    timeInvoiceStart?: string;
    /**
     * description: End time (UTC) of the target payment date range for which to fetch invoice data (exclusive).
     */
    timePaymentEnd?: string;
    /**
     * description: Start time (UTC) of the target payment date range for which to fetch invoice data (inclusive).
     */
    timePaymentStart?: string;
    /**
     * A filter to only return resources that match the given type exactly.
     */
    types?: string[];
}
/**
 * A collection of values returned by getInvoices.
 */
export interface GetInvoicesResult {
    readonly compartmentId: string;
    readonly filters?: outputs.OspGateway.GetInvoicesFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The list of invoice_collection.
     */
    readonly invoiceCollections: outputs.OspGateway.GetInvoicesInvoiceCollection[];
    /**
     * Invoice identifier which is generated on the on-premise sie. Pls note this is not an OCID
     */
    readonly invoiceId?: string;
    readonly ospHomeRegion: string;
    readonly searchText?: string;
    readonly statuses?: string[];
    readonly timeInvoiceEnd?: string;
    readonly timeInvoiceStart?: string;
    readonly timePaymentEnd?: string;
    readonly timePaymentStart?: string;
    readonly types?: string[];
}
/**
 * This data source provides the list of Invoices in Oracle Cloud Infrastructure Osp Gateway service.
 *
 * Returns a list of invoices
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testInvoices = oci.ospgateway.getInvoices({
 *     compartmentId: compartmentId,
 *     ospHomeRegion: invoiceOspHomeRegion,
 *     invoiceId: testInvoice.id,
 *     searchText: invoiceSearchText,
 *     statuses: invoiceStatus,
 *     timeInvoiceEnd: invoiceTimeInvoiceEnd,
 *     timeInvoiceStart: invoiceTimeInvoiceStart,
 *     timePaymentEnd: invoiceTimePaymentEnd,
 *     timePaymentStart: invoiceTimePaymentStart,
 *     types: invoiceType,
 * });
 * ```
 */
export declare function getInvoicesOutput(args: GetInvoicesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetInvoicesResult>;
/**
 * A collection of arguments for invoking getInvoices.
 */
export interface GetInvoicesOutputArgs {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
     */
    compartmentId: pulumi.Input<string>;
    filters?: pulumi.Input<pulumi.Input<inputs.OspGateway.GetInvoicesFilterArgs>[] | undefined>;
    /**
     * The invoice query param (not unique).
     */
    invoiceId?: pulumi.Input<string | undefined>;
    /**
     * The home region's public name of the logged in user.
     */
    ospHomeRegion: pulumi.Input<string>;
    /**
     * A filter to only return resources that match the given value. Looking for partial matches in the following fileds: Invoice No., Reference No. (plan number), Payment Ref, Total Amount(plan number), Balance Due(plan number) and Party/Customer Name
     */
    searchText?: pulumi.Input<string | undefined>;
    /**
     * A filter to only return resources that match one of the status elements.
     */
    statuses?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * description: End time (UTC) of the target invoice date range for which to fetch invoice data (exclusive).
     */
    timeInvoiceEnd?: pulumi.Input<string | undefined>;
    /**
     * description: Start time (UTC) of the target invoice date range for which to fetch invoice data (inclusive).
     */
    timeInvoiceStart?: pulumi.Input<string | undefined>;
    /**
     * description: End time (UTC) of the target payment date range for which to fetch invoice data (exclusive).
     */
    timePaymentEnd?: pulumi.Input<string | undefined>;
    /**
     * description: Start time (UTC) of the target payment date range for which to fetch invoice data (inclusive).
     */
    timePaymentStart?: pulumi.Input<string | undefined>;
    /**
     * A filter to only return resources that match the given type exactly.
     */
    types?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
//# sourceMappingURL=getInvoices.d.ts.map