import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Get a list of DNS record sets within a Google Cloud DNS managed zone. This data source allows you to list all record sets or filter them by name and type.
 *
 * To get more information about Cloud DNS Record Sets, see:
 *
 * * [API documentation](https://cloud.google.com/dns/docs/reference/v1/resourceRecordSets/list)
 * * [How-to Guides](https://cloud.google.com/dns/docs/records)
 *
 * > **Note:** Filtering by `type` when `name` is not set is performed client-side.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const envDnsZone = gcp.dns.getManagedZone({
 *     name: "my-zone-name",
 * });
 * const example = envDnsZone.then(envDnsZone => gcp.dns.getRecordSets({
 *     managedZone: envDnsZone.name,
 *     type: "A",
 * }));
 * ```
 */
export declare function getRecordSets(args: GetRecordSetsArgs, opts?: pulumi.InvokeOptions): Promise<GetRecordSetsResult>;
/**
 * A collection of arguments for invoking getRecordSets.
 */
export interface GetRecordSetsArgs {
    /**
     * The name of the managed zone to fetch the record sets from.
     */
    managedZone: string;
    /**
     * The name of the record set to filter by.
     */
    name?: string;
    /**
     * The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
     */
    project?: string;
    /**
     * The type of the record set to filter by.
     */
    type?: string;
}
/**
 * A collection of values returned by getRecordSets.
 */
export interface GetRecordSetsResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly managedZone: string;
    /**
     * The name of the record set.
     */
    readonly name?: string;
    readonly project?: string;
    /**
     * A list of record sets in the selected managed zone matching the filter. Structure is defined below.
     */
    readonly rrsets: outputs.dns.GetRecordSetsRrset[];
    /**
     * The type of the record set.
     */
    readonly type?: string;
}
/**
 * Get a list of DNS record sets within a Google Cloud DNS managed zone. This data source allows you to list all record sets or filter them by name and type.
 *
 * To get more information about Cloud DNS Record Sets, see:
 *
 * * [API documentation](https://cloud.google.com/dns/docs/reference/v1/resourceRecordSets/list)
 * * [How-to Guides](https://cloud.google.com/dns/docs/records)
 *
 * > **Note:** Filtering by `type` when `name` is not set is performed client-side.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const envDnsZone = gcp.dns.getManagedZone({
 *     name: "my-zone-name",
 * });
 * const example = envDnsZone.then(envDnsZone => gcp.dns.getRecordSets({
 *     managedZone: envDnsZone.name,
 *     type: "A",
 * }));
 * ```
 */
export declare function getRecordSetsOutput(args: GetRecordSetsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetRecordSetsResult>;
/**
 * A collection of arguments for invoking getRecordSets.
 */
export interface GetRecordSetsOutputArgs {
    /**
     * The name of the managed zone to fetch the record sets from.
     */
    managedZone: pulumi.Input<string>;
    /**
     * The name of the record set to filter by.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
     */
    project?: pulumi.Input<string | undefined>;
    /**
     * The type of the record set to filter by.
     */
    type?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getRecordSets.d.ts.map