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 Subscriptions in Oracle Cloud Infrastructure Osub Subscription service.
 *
 * This list API returns all subscriptions for a given plan number or subscription id or buyer email
 * and provides additional parameters to include ratecard and commitment details.
 * This API expects exactly one of the above mentioned parameters as input. If more than one parameters are provided the API will throw
 * a 400 - invalid parameters exception and if no parameters are provided it will throw a 400 - missing parameter exception
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSubscriptions = oci.osubsubscription.getSubscriptions({
 *     compartmentId: compartmentId,
 *     buyerEmail: subscriptionBuyerEmail,
 *     isCommitInfoRequired: subscriptionIsCommitInfoRequired === "true",
 *     planNumber: subscriptionPlanNumber,
 *     subscriptionId: testSubscription.id,
 *     xOneGatewaySubscriptionId: subscriptionXOneGatewaySubscriptionId,
 *     xOneOriginRegion: subscriptionXOneOriginRegion,
 * });
 * ```
 */
export declare function getSubscriptions(args: GetSubscriptionsArgs, opts?: pulumi.InvokeOptions): Promise<GetSubscriptionsResult>;
/**
 * A collection of arguments for invoking getSubscriptions.
 */
export interface GetSubscriptionsArgs {
    /**
     * Buyer Email Id
     */
    buyerEmail?: string;
    /**
     * The OCID of the compartment.
     */
    compartmentId: string;
    filters?: inputs.OsubSubscription.GetSubscriptionsFilter[];
    /**
     * Boolean value to decide whether commitment services will be shown
     */
    isCommitInfoRequired?: boolean;
    /**
     * The Plan Number
     */
    planNumber?: string;
    /**
     * Line level Subscription Id
     */
    subscriptionId?: string;
    /**
     * This header is meant to be used only for internal purposes and will be ignored on any public request. The purpose of this header is  to help on Gateway to API calls identification.
     */
    xOneGatewaySubscriptionId?: string;
    /**
     * The Oracle Cloud Infrastructure home region name in case home region is not us-ashburn-1 (IAD), e.g. ap-mumbai-1, us-phoenix-1 etc.
     */
    xOneOriginRegion?: string;
}
/**
 * A collection of values returned by getSubscriptions.
 */
export interface GetSubscriptionsResult {
    readonly buyerEmail?: string;
    readonly compartmentId: string;
    readonly filters?: outputs.OsubSubscription.GetSubscriptionsFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly isCommitInfoRequired?: boolean;
    readonly planNumber?: string;
    readonly subscriptionId?: string;
    /**
     * The list of subscriptions.
     */
    readonly subscriptions: outputs.OsubSubscription.GetSubscriptionsSubscription[];
    readonly xOneGatewaySubscriptionId?: string;
    readonly xOneOriginRegion?: string;
}
/**
 * This data source provides the list of Subscriptions in Oracle Cloud Infrastructure Osub Subscription service.
 *
 * This list API returns all subscriptions for a given plan number or subscription id or buyer email
 * and provides additional parameters to include ratecard and commitment details.
 * This API expects exactly one of the above mentioned parameters as input. If more than one parameters are provided the API will throw
 * a 400 - invalid parameters exception and if no parameters are provided it will throw a 400 - missing parameter exception
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSubscriptions = oci.osubsubscription.getSubscriptions({
 *     compartmentId: compartmentId,
 *     buyerEmail: subscriptionBuyerEmail,
 *     isCommitInfoRequired: subscriptionIsCommitInfoRequired === "true",
 *     planNumber: subscriptionPlanNumber,
 *     subscriptionId: testSubscription.id,
 *     xOneGatewaySubscriptionId: subscriptionXOneGatewaySubscriptionId,
 *     xOneOriginRegion: subscriptionXOneOriginRegion,
 * });
 * ```
 */
export declare function getSubscriptionsOutput(args: GetSubscriptionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSubscriptionsResult>;
/**
 * A collection of arguments for invoking getSubscriptions.
 */
export interface GetSubscriptionsOutputArgs {
    /**
     * Buyer Email Id
     */
    buyerEmail?: pulumi.Input<string | undefined>;
    /**
     * The OCID of the compartment.
     */
    compartmentId: pulumi.Input<string>;
    filters?: pulumi.Input<pulumi.Input<inputs.OsubSubscription.GetSubscriptionsFilterArgs>[] | undefined>;
    /**
     * Boolean value to decide whether commitment services will be shown
     */
    isCommitInfoRequired?: pulumi.Input<boolean | undefined>;
    /**
     * The Plan Number
     */
    planNumber?: pulumi.Input<string | undefined>;
    /**
     * Line level Subscription Id
     */
    subscriptionId?: pulumi.Input<string | undefined>;
    /**
     * This header is meant to be used only for internal purposes and will be ignored on any public request. The purpose of this header is  to help on Gateway to API calls identification.
     */
    xOneGatewaySubscriptionId?: pulumi.Input<string | undefined>;
    /**
     * The Oracle Cloud Infrastructure home region name in case home region is not us-ashburn-1 (IAD), e.g. ap-mumbai-1, us-phoenix-1 etc.
     */
    xOneOriginRegion?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getSubscriptions.d.ts.map