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 Announcement Subscriptions in Oracle Cloud Infrastructure Announcements Service service.
 *
 * Gets a list of all announcement subscriptions in the specified compartment.
 *
 * This call is subject to an Announcements limit that applies to the total number of requests across all read or write operations. Announcements might throttle this call to reject an otherwise valid request when the total rate of operations exceeds 20 requests per second for a given user. The service might also throttle this call to reject an otherwise valid request when the total rate of operations exceeds 100 requests per second for a given tenancy.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testAnnouncementSubscriptions = oci.announcementsservice.getAnnouncementSubscriptions({
 *     compartmentId: compartmentId,
 *     displayName: announcementSubscriptionDisplayName,
 *     id: announcementSubscriptionId,
 *     state: announcementSubscriptionState,
 * });
 * ```
 */
export declare function getAnnouncementSubscriptions(args: GetAnnouncementSubscriptionsArgs, opts?: pulumi.InvokeOptions): Promise<GetAnnouncementSubscriptionsResult>;
/**
 * A collection of arguments for invoking getAnnouncementSubscriptions.
 */
export interface GetAnnouncementSubscriptionsArgs {
    /**
     * The OCID of the compartment.
     */
    compartmentId: string;
    /**
     * A filter to return only resources that match the entire display name given.
     */
    displayName?: string;
    filters?: inputs.AnnouncementsService.GetAnnouncementSubscriptionsFilter[];
    /**
     * The OCID of the announcement subscription.
     */
    id?: string;
    /**
     * A filter to return only announcement subscriptions that match the given lifecycle state.
     */
    state?: string;
}
/**
 * A collection of values returned by getAnnouncementSubscriptions.
 */
export interface GetAnnouncementSubscriptionsResult {
    /**
     * The list of announcement_subscription_collection.
     */
    readonly announcementSubscriptionCollections: outputs.AnnouncementsService.GetAnnouncementSubscriptionsAnnouncementSubscriptionCollection[];
    /**
     * The OCID of the compartment that contains the announcement subscription.
     */
    readonly compartmentId: string;
    /**
     * A user-friendly name for the announcement subscription. Does not have to be unique, and it's changeable. Avoid entering confidential information.
     */
    readonly displayName?: string;
    readonly filters?: outputs.AnnouncementsService.GetAnnouncementSubscriptionsFilter[];
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the announcement subscription.
     */
    readonly id?: string;
    /**
     * The current lifecycle state of the announcement subscription.
     */
    readonly state?: string;
}
/**
 * This data source provides the list of Announcement Subscriptions in Oracle Cloud Infrastructure Announcements Service service.
 *
 * Gets a list of all announcement subscriptions in the specified compartment.
 *
 * This call is subject to an Announcements limit that applies to the total number of requests across all read or write operations. Announcements might throttle this call to reject an otherwise valid request when the total rate of operations exceeds 20 requests per second for a given user. The service might also throttle this call to reject an otherwise valid request when the total rate of operations exceeds 100 requests per second for a given tenancy.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testAnnouncementSubscriptions = oci.announcementsservice.getAnnouncementSubscriptions({
 *     compartmentId: compartmentId,
 *     displayName: announcementSubscriptionDisplayName,
 *     id: announcementSubscriptionId,
 *     state: announcementSubscriptionState,
 * });
 * ```
 */
export declare function getAnnouncementSubscriptionsOutput(args: GetAnnouncementSubscriptionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetAnnouncementSubscriptionsResult>;
/**
 * A collection of arguments for invoking getAnnouncementSubscriptions.
 */
export interface GetAnnouncementSubscriptionsOutputArgs {
    /**
     * The OCID of the compartment.
     */
    compartmentId: pulumi.Input<string>;
    /**
     * A filter to return only resources that match the entire display name given.
     */
    displayName?: pulumi.Input<string | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.AnnouncementsService.GetAnnouncementSubscriptionsFilterArgs>[] | undefined>;
    /**
     * The OCID of the announcement subscription.
     */
    id?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only announcement subscriptions that match the given lifecycle state.
     */
    state?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getAnnouncementSubscriptions.d.ts.map