import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to access information about an existing DNS MX Record within Azure DNS.
 *
 * > **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = azure.dns.getMxRecord({
 *     name: "test",
 *     zoneName: "test-zone",
 *     resourceGroupName: "test-rg",
 * });
 * export const dnsMxRecordId = example.then(example => example.id);
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This data source uses the following Azure API Providers:
 *
 * * `Microsoft.Network` - 2018-05-01
 */
export declare function getMxRecord(args: GetMxRecordArgs, opts?: pulumi.InvokeOptions): Promise<GetMxRecordResult>;
/**
 * A collection of arguments for invoking getMxRecord.
 */
export interface GetMxRecordArgs {
    /**
     * The name of the DNS MX Record.
     */
    name?: string;
    /**
     * Specifies the resource group where the DNS Zone (parent resource) exists.
     */
    resourceGroupName: string;
    /**
     * Specifies the DNS Zone where the resource exists.
     */
    zoneName: string;
}
/**
 * A collection of values returned by getMxRecord.
 */
export interface GetMxRecordResult {
    /**
     * The FQDN of the DNS MX Record.
     */
    readonly fqdn: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly name?: string;
    /**
     * A list of values that make up the MX record. Each `record` block supports fields documented below.
     */
    readonly records: outputs.dns.GetMxRecordRecord[];
    readonly resourceGroupName: string;
    /**
     * A mapping of tags assigned to the resource.
     */
    readonly tags: {
        [key: string]: string;
    };
    /**
     * The Time To Live (TTL) of the DNS record in seconds.
     */
    readonly ttl: number;
    readonly zoneName: string;
}
/**
 * Use this data source to access information about an existing DNS MX Record within Azure DNS.
 *
 * > **Note:** [The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes](https://docs.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling#network-throttling) - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we'd generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = azure.dns.getMxRecord({
 *     name: "test",
 *     zoneName: "test-zone",
 *     resourceGroupName: "test-rg",
 * });
 * export const dnsMxRecordId = example.then(example => example.id);
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This data source uses the following Azure API Providers:
 *
 * * `Microsoft.Network` - 2018-05-01
 */
export declare function getMxRecordOutput(args: GetMxRecordOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetMxRecordResult>;
/**
 * A collection of arguments for invoking getMxRecord.
 */
export interface GetMxRecordOutputArgs {
    /**
     * The name of the DNS MX Record.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * Specifies the resource group where the DNS Zone (parent resource) exists.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * Specifies the DNS Zone where the resource exists.
     */
    zoneName: pulumi.Input<string>;
}
//# sourceMappingURL=getMxRecord.d.ts.map