import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource provides the Announcement Subscriptions Filter Group resource in Oracle Cloud Infrastructure Announcements Service service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/announcements/latest/AnnouncementSubscriptionsFilterGroup
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/announcements_service
 *
 * Creates a new filter group in the specified announcement subscription.
 *
 * 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 testAnnouncementSubscriptionsFilterGroup = new oci.announcementsservice.AnnouncementSubscriptionsFilterGroup("test_announcement_subscriptions_filter_group", {
 *     announcementSubscriptionId: testAnnouncementSubscription.id,
 *     filters: [{
 *         type: announcementSubscriptionsFilterGroupFiltersType,
 *         value: announcementSubscriptionsFilterGroupFiltersValue,
 *     }],
 *     name: announcementSubscriptionsFilterGroupName,
 * });
 * ```
 *
 * ## Import
 *
 * AnnouncementSubscriptionsFilterGroups can be imported using the `id`, e.g.
 *
 * ```sh
 * $ pulumi import oci:AnnouncementsService/announcementSubscriptionsFilterGroup:AnnouncementSubscriptionsFilterGroup test_announcement_subscriptions_filter_group "id"
 * ```
 */
export declare class AnnouncementSubscriptionsFilterGroup extends pulumi.CustomResource {
    /**
     * Get an existing AnnouncementSubscriptionsFilterGroup resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AnnouncementSubscriptionsFilterGroupState, opts?: pulumi.CustomResourceOptions): AnnouncementSubscriptionsFilterGroup;
    /**
     * Returns true if the given object is an instance of AnnouncementSubscriptionsFilterGroup.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is AnnouncementSubscriptionsFilterGroup;
    /**
     * The OCID of the announcement subscription.
     */
    readonly announcementSubscriptionId: pulumi.Output<string>;
    /**
     * (Updatable) A list of filters against which the Announcements service will match announcements. You cannot have more than one of any given filter type within a filter group.
     */
    readonly filters: pulumi.Output<outputs.AnnouncementsService.AnnouncementSubscriptionsFilterGroupFilter[]>;
    /**
     * The name of the filter group. The name must be unique and it cannot be changed. Avoid entering confidential information.
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    readonly name: pulumi.Output<string>;
    /**
     * Create a AnnouncementSubscriptionsFilterGroup resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: AnnouncementSubscriptionsFilterGroupArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering AnnouncementSubscriptionsFilterGroup resources.
 */
export interface AnnouncementSubscriptionsFilterGroupState {
    /**
     * The OCID of the announcement subscription.
     */
    announcementSubscriptionId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) A list of filters against which the Announcements service will match announcements. You cannot have more than one of any given filter type within a filter group.
     */
    filters?: pulumi.Input<pulumi.Input<inputs.AnnouncementsService.AnnouncementSubscriptionsFilterGroupFilter>[] | undefined>;
    /**
     * The name of the filter group. The name must be unique and it cannot be changed. Avoid entering confidential information.
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    name?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a AnnouncementSubscriptionsFilterGroup resource.
 */
export interface AnnouncementSubscriptionsFilterGroupArgs {
    /**
     * The OCID of the announcement subscription.
     */
    announcementSubscriptionId: pulumi.Input<string>;
    /**
     * (Updatable) A list of filters against which the Announcements service will match announcements. You cannot have more than one of any given filter type within a filter group.
     */
    filters: pulumi.Input<pulumi.Input<inputs.AnnouncementsService.AnnouncementSubscriptionsFilterGroupFilter>[]>;
    /**
     * The name of the filter group. The name must be unique and it cannot be changed. Avoid entering confidential information.
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    name?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=announcementSubscriptionsFilterGroup.d.ts.map