/**
 * Azure Privatedns API
 *
 * Generated from the Azure REST API specs.
 * DO NOT EDIT - regenerate with: bun run generate
 */
import * as Schema from "effect/Schema";
export declare const PrivateZonesCreateOrUpdateInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly privateZoneName: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type PrivateZonesCreateOrUpdateInput = typeof PrivateZonesCreateOrUpdateInput.Type;
export declare const PrivateZonesCreateOrUpdateOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type PrivateZonesCreateOrUpdateOutput = typeof PrivateZonesCreateOrUpdateOutput.Type;
/**
 * Creates or updates a Private DNS zone. Does not modify Links to virtual networks or DNS records within the zone.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param privateZoneName - The name of the Private DNS zone (without a terminating dot).
 * @param If-Match - The ETag of the Private DNS zone. Omit this value to always overwrite the current zone. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes.
 * @param If-None-Match - Set to '*' to allow a new Private DNS zone to be created, but to prevent updating an existing zone. Other values will be ignored.
 */
export declare const PrivateZonesCreateOrUpdate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly privateZoneName: string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const PrivateZonesDeleteInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly privateZoneName: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type PrivateZonesDeleteInput = typeof PrivateZonesDeleteInput.Type;
export declare const PrivateZonesDeleteOutput: Schema.Void;
export type PrivateZonesDeleteOutput = typeof PrivateZonesDeleteOutput.Type;
/**
 * Deletes a Private DNS zone. WARNING: All DNS records in the zone will also be deleted. This operation cannot be undone. Private DNS zone cannot be deleted unless all virtual network links to it are removed.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param privateZoneName - The name of the Private DNS zone (without a terminating dot).
 * @param If-Match - The ETag of the Private DNS zone. Omit this value to always delete the current zone. Specify the last-seen ETag value to prevent accidentally deleting any concurrent changes.
 */
export declare const PrivateZonesDelete: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly privateZoneName: string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
}, void, never, import("../credentials.ts").Credentials>;
export declare const PrivateZonesGetInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly privateZoneName: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type PrivateZonesGetInput = typeof PrivateZonesGetInput.Type;
export declare const PrivateZonesGetOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type PrivateZonesGetOutput = typeof PrivateZonesGetOutput.Type;
/**
 * Gets a Private DNS zone. Retrieves the zone properties, but not the virtual networks links or the record sets within the zone.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param privateZoneName - The name of the Private DNS zone (without a terminating dot).
 */
export declare const PrivateZonesGet: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly privateZoneName: string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const PrivateZonesListInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly "api-version": Schema.String;
    readonly $top: Schema.optional<Schema.Number>;
}>;
export type PrivateZonesListInput = typeof PrivateZonesListInput.Type;
export declare const PrivateZonesListOutput: Schema.Struct<{
    readonly value: Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly systemData: Schema.optional<Schema.Struct<{
            readonly createdBy: Schema.optional<Schema.String>;
            readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly createdAt: Schema.optional<Schema.String>;
            readonly lastModifiedBy: Schema.optional<Schema.String>;
            readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly lastModifiedAt: Schema.optional<Schema.String>;
        }>>;
    }>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type PrivateZonesListOutput = typeof PrivateZonesListOutput.Type;
/**
 * Lists the Private DNS zones in all resource groups in a subscription.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param $top - The maximum number of Private DNS zones to return. If not specified, returns up to 100 zones.
 */
export declare const PrivateZonesList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $top?: number | undefined;
    readonly "api-version": string;
    readonly subscriptionId: string;
}, {
    readonly nextLink?: string | undefined;
    readonly value: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly systemData?: {
            readonly createdAt?: string | undefined;
            readonly createdBy?: string | undefined;
            readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
            readonly lastModifiedAt?: string | undefined;
            readonly lastModifiedBy?: string | undefined;
            readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[];
}, never, import("../credentials.ts").Credentials>;
export declare const PrivateZonesListByResourceGroupInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly "api-version": Schema.String;
    readonly $top: Schema.optional<Schema.Number>;
}>;
export type PrivateZonesListByResourceGroupInput = typeof PrivateZonesListByResourceGroupInput.Type;
export declare const PrivateZonesListByResourceGroupOutput: Schema.Struct<{
    readonly value: Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly systemData: Schema.optional<Schema.Struct<{
            readonly createdBy: Schema.optional<Schema.String>;
            readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly createdAt: Schema.optional<Schema.String>;
            readonly lastModifiedBy: Schema.optional<Schema.String>;
            readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly lastModifiedAt: Schema.optional<Schema.String>;
        }>>;
    }>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type PrivateZonesListByResourceGroupOutput = typeof PrivateZonesListByResourceGroupOutput.Type;
/**
 * Lists the Private DNS zones within a resource group.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param $top - The maximum number of record sets to return. If not specified, returns up to 100 record sets.
 */
export declare const PrivateZonesListByResourceGroup: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $top?: number | undefined;
    readonly "api-version": string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
}, {
    readonly nextLink?: string | undefined;
    readonly value: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly systemData?: {
            readonly createdAt?: string | undefined;
            readonly createdBy?: string | undefined;
            readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
            readonly lastModifiedAt?: string | undefined;
            readonly lastModifiedBy?: string | undefined;
            readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[];
}, never, import("../credentials.ts").Credentials>;
export declare const PrivateZonesUpdateInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly privateZoneName: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type PrivateZonesUpdateInput = typeof PrivateZonesUpdateInput.Type;
export declare const PrivateZonesUpdateOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type PrivateZonesUpdateOutput = typeof PrivateZonesUpdateOutput.Type;
/**
 * Updates a Private DNS zone. Does not modify virtual network links or DNS records within the zone.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param privateZoneName - The name of the Private DNS zone (without a terminating dot).
 * @param If-Match - The ETag of the Private DNS zone. Omit this value to always overwrite the current zone. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes.
 */
export declare const PrivateZonesUpdate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly privateZoneName: string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const RecordSetsCreateOrUpdateInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly privateZoneName: Schema.String;
    readonly recordType: Schema.Literals<readonly ["A", "AAAA", "CNAME", "MX", "PTR", "SOA", "SRV", "TXT"]>;
    readonly relativeRecordSetName: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type RecordSetsCreateOrUpdateInput = typeof RecordSetsCreateOrUpdateInput.Type;
export declare const RecordSetsCreateOrUpdateOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type RecordSetsCreateOrUpdateOutput = typeof RecordSetsCreateOrUpdateOutput.Type;
/**
 * Creates or updates a record set within a Private DNS zone.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param privateZoneName - The name of the DNS zone (without a terminating dot).
 * @param recordType - The type of DNS record in this record set.
 * @param relativeRecordSetName - The name of the record set, relative to the name of the zone.
 * @param If-Match - The ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes.
 * @param If-None-Match - Set to '*' to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored.
 */
export declare const RecordSetsCreateOrUpdate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly privateZoneName: string;
    readonly recordType: "A" | "AAAA" | "CNAME" | "MX" | "PTR" | "SOA" | "SRV" | "TXT";
    readonly relativeRecordSetName: string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const RecordSetsDeleteInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly privateZoneName: Schema.String;
    readonly recordType: Schema.Literals<readonly ["A", "AAAA", "CNAME", "MX", "PTR", "SOA", "SRV", "TXT"]>;
    readonly relativeRecordSetName: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type RecordSetsDeleteInput = typeof RecordSetsDeleteInput.Type;
export declare const RecordSetsDeleteOutput: Schema.Void;
export type RecordSetsDeleteOutput = typeof RecordSetsDeleteOutput.Type;
/**
 * Deletes a record set from a Private DNS zone. This operation cannot be undone.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param privateZoneName - The name of the DNS zone (without a terminating dot).
 * @param recordType - The type of DNS record in this record set.
 * @param relativeRecordSetName - The name of the record set, relative to the name of the zone.
 * @param If-Match - The ETag of the record set. Omit this value to always delete the current record set. Specify the last-seen ETag value to prevent accidentally deleting any concurrent changes.
 */
export declare const RecordSetsDelete: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly privateZoneName: string;
    readonly recordType: "A" | "AAAA" | "CNAME" | "MX" | "PTR" | "SOA" | "SRV" | "TXT";
    readonly relativeRecordSetName: string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
}, void, never, import("../credentials.ts").Credentials>;
export declare const RecordSetsGetInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly privateZoneName: Schema.String;
    readonly recordType: Schema.Literals<readonly ["A", "AAAA", "CNAME", "MX", "PTR", "SOA", "SRV", "TXT"]>;
    readonly relativeRecordSetName: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type RecordSetsGetInput = typeof RecordSetsGetInput.Type;
export declare const RecordSetsGetOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type RecordSetsGetOutput = typeof RecordSetsGetOutput.Type;
/**
 * Gets a record set.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param privateZoneName - The name of the DNS zone (without a terminating dot).
 * @param recordType - The type of DNS record in this record set.
 * @param relativeRecordSetName - The name of the record set, relative to the name of the zone.
 */
export declare const RecordSetsGet: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly privateZoneName: string;
    readonly recordType: "A" | "AAAA" | "CNAME" | "MX" | "PTR" | "SOA" | "SRV" | "TXT";
    readonly relativeRecordSetName: string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const RecordSetsListInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly privateZoneName: Schema.String;
    readonly "api-version": Schema.String;
    readonly $top: Schema.optional<Schema.Number>;
    readonly $recordsetnamesuffix: Schema.optional<Schema.String>;
}>;
export type RecordSetsListInput = typeof RecordSetsListInput.Type;
export declare const RecordSetsListOutput: Schema.Struct<{
    readonly value: Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly systemData: Schema.optional<Schema.Struct<{
            readonly createdBy: Schema.optional<Schema.String>;
            readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly createdAt: Schema.optional<Schema.String>;
            readonly lastModifiedBy: Schema.optional<Schema.String>;
            readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly lastModifiedAt: Schema.optional<Schema.String>;
        }>>;
    }>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type RecordSetsListOutput = typeof RecordSetsListOutput.Type;
/**
 * Lists all record sets in a Private DNS zone.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param privateZoneName - The name of the Private DNS zone (without a terminating dot).
 * @param $top - The maximum number of record sets to return. If not specified, returns up to 100 record sets.
 * @param $recordsetnamesuffix - The suffix label of the record set name to be used to filter the record set enumeration. If this parameter is specified, the returned enumeration will only contain records that end with ".<recordsetnamesuffix>".
 */
export declare const RecordSetsList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $recordsetnamesuffix?: string | undefined;
    readonly $top?: number | undefined;
    readonly "api-version": string;
    readonly privateZoneName: string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
}, {
    readonly nextLink?: string | undefined;
    readonly value: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly systemData?: {
            readonly createdAt?: string | undefined;
            readonly createdBy?: string | undefined;
            readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
            readonly lastModifiedAt?: string | undefined;
            readonly lastModifiedBy?: string | undefined;
            readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[];
}, never, import("../credentials.ts").Credentials>;
export declare const RecordSetsListByTypeInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly privateZoneName: Schema.String;
    readonly recordType: Schema.Literals<readonly ["A", "AAAA", "CNAME", "MX", "PTR", "SOA", "SRV", "TXT"]>;
    readonly "api-version": Schema.String;
    readonly $top: Schema.optional<Schema.Number>;
    readonly $recordsetnamesuffix: Schema.optional<Schema.String>;
}>;
export type RecordSetsListByTypeInput = typeof RecordSetsListByTypeInput.Type;
export declare const RecordSetsListByTypeOutput: Schema.Struct<{
    readonly value: Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly systemData: Schema.optional<Schema.Struct<{
            readonly createdBy: Schema.optional<Schema.String>;
            readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly createdAt: Schema.optional<Schema.String>;
            readonly lastModifiedBy: Schema.optional<Schema.String>;
            readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly lastModifiedAt: Schema.optional<Schema.String>;
        }>>;
    }>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type RecordSetsListByTypeOutput = typeof RecordSetsListByTypeOutput.Type;
/**
 * Lists the record sets of a specified type in a Private DNS zone.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param privateZoneName - The name of the DNS zone (without a terminating dot).
 * @param recordType - The type of DNS record in this record set.
 * @param $top - The maximum number of record sets to return. If not specified, returns up to 100 record sets.
 * @param $recordsetnamesuffix - The suffix label of the record set name to be used to filter the record set enumeration. If this parameter is specified, the returned enumeration will only contain records that end with ".<recordsetnamesuffix>".
 */
export declare const RecordSetsListByType: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $recordsetnamesuffix?: string | undefined;
    readonly $top?: number | undefined;
    readonly "api-version": string;
    readonly privateZoneName: string;
    readonly recordType: "A" | "AAAA" | "CNAME" | "MX" | "PTR" | "SOA" | "SRV" | "TXT";
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
}, {
    readonly nextLink?: string | undefined;
    readonly value: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly systemData?: {
            readonly createdAt?: string | undefined;
            readonly createdBy?: string | undefined;
            readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
            readonly lastModifiedAt?: string | undefined;
            readonly lastModifiedBy?: string | undefined;
            readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[];
}, never, import("../credentials.ts").Credentials>;
export declare const RecordSetsUpdateInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly privateZoneName: Schema.String;
    readonly recordType: Schema.Literals<readonly ["A", "AAAA", "CNAME", "MX", "PTR", "SOA", "SRV", "TXT"]>;
    readonly relativeRecordSetName: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type RecordSetsUpdateInput = typeof RecordSetsUpdateInput.Type;
export declare const RecordSetsUpdateOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type RecordSetsUpdateOutput = typeof RecordSetsUpdateOutput.Type;
/**
 * Updates a record set within a Private DNS zone.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param privateZoneName - The name of the DNS zone (without a terminating dot).
 * @param recordType - The type of DNS record in this record set.
 * @param relativeRecordSetName - The name of the record set, relative to the name of the zone.
 * @param If-Match - The ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes.
 */
export declare const RecordSetsUpdate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly privateZoneName: string;
    readonly recordType: "A" | "AAAA" | "CNAME" | "MX" | "PTR" | "SOA" | "SRV" | "TXT";
    readonly relativeRecordSetName: string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const VirtualNetworkLinksCreateOrUpdateInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly privateZoneName: Schema.String;
    readonly virtualNetworkLinkName: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type VirtualNetworkLinksCreateOrUpdateInput = typeof VirtualNetworkLinksCreateOrUpdateInput.Type;
export declare const VirtualNetworkLinksCreateOrUpdateOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type VirtualNetworkLinksCreateOrUpdateOutput = typeof VirtualNetworkLinksCreateOrUpdateOutput.Type;
/**
 * Creates or updates a virtual network link to the specified Private DNS zone.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param privateZoneName - The name of the Private DNS zone (without a terminating dot).
 * @param virtualNetworkLinkName - The name of the virtual network link.
 * @param If-Match - The ETag of the virtual network link to the Private DNS zone. Omit this value to always overwrite the current virtual network link. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes.
 * @param If-None-Match - Set to '*' to allow a new virtual network link to the Private DNS zone to be created, but to prevent updating an existing link. Other values will be ignored.
 */
export declare const VirtualNetworkLinksCreateOrUpdate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly privateZoneName: string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
    readonly virtualNetworkLinkName: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const VirtualNetworkLinksDeleteInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly privateZoneName: Schema.String;
    readonly virtualNetworkLinkName: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type VirtualNetworkLinksDeleteInput = typeof VirtualNetworkLinksDeleteInput.Type;
export declare const VirtualNetworkLinksDeleteOutput: Schema.Void;
export type VirtualNetworkLinksDeleteOutput = typeof VirtualNetworkLinksDeleteOutput.Type;
/**
 * Deletes a virtual network link to the specified Private DNS zone. WARNING: In case of a registration virtual network, all auto-registered DNS records in the zone for the virtual network will also be deleted. This operation cannot be undone.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param privateZoneName - The name of the Private DNS zone (without a terminating dot).
 * @param virtualNetworkLinkName - The name of the virtual network link.
 * @param If-Match - The ETag of the virtual network link to the Private DNS zone. Omit this value to always delete the current zone. Specify the last-seen ETag value to prevent accidentally deleting any concurrent changes.
 */
export declare const VirtualNetworkLinksDelete: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly privateZoneName: string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
    readonly virtualNetworkLinkName: string;
}, void, never, import("../credentials.ts").Credentials>;
export declare const VirtualNetworkLinksGetInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly privateZoneName: Schema.String;
    readonly virtualNetworkLinkName: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type VirtualNetworkLinksGetInput = typeof VirtualNetworkLinksGetInput.Type;
export declare const VirtualNetworkLinksGetOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type VirtualNetworkLinksGetOutput = typeof VirtualNetworkLinksGetOutput.Type;
/**
 * Gets a virtual network link to the specified Private DNS zone.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param privateZoneName - The name of the Private DNS zone (without a terminating dot).
 * @param virtualNetworkLinkName - The name of the virtual network link.
 */
export declare const VirtualNetworkLinksGet: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly privateZoneName: string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
    readonly virtualNetworkLinkName: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const VirtualNetworkLinksListInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly privateZoneName: Schema.String;
    readonly "api-version": Schema.String;
    readonly $top: Schema.optional<Schema.Number>;
}>;
export type VirtualNetworkLinksListInput = typeof VirtualNetworkLinksListInput.Type;
export declare const VirtualNetworkLinksListOutput: Schema.Struct<{
    readonly value: Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly systemData: Schema.optional<Schema.Struct<{
            readonly createdBy: Schema.optional<Schema.String>;
            readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly createdAt: Schema.optional<Schema.String>;
            readonly lastModifiedBy: Schema.optional<Schema.String>;
            readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly lastModifiedAt: Schema.optional<Schema.String>;
        }>>;
    }>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type VirtualNetworkLinksListOutput = typeof VirtualNetworkLinksListOutput.Type;
/**
 * Lists the virtual network links to the specified Private DNS zone.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param privateZoneName - The name of the Private DNS zone (without a terminating dot).
 * @param $top - The maximum number of virtual network links to return. If not specified, returns up to 100 virtual network links.
 */
export declare const VirtualNetworkLinksList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $top?: number | undefined;
    readonly "api-version": string;
    readonly privateZoneName: string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
}, {
    readonly nextLink?: string | undefined;
    readonly value: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly systemData?: {
            readonly createdAt?: string | undefined;
            readonly createdBy?: string | undefined;
            readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
            readonly lastModifiedAt?: string | undefined;
            readonly lastModifiedBy?: string | undefined;
            readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[];
}, never, import("../credentials.ts").Credentials>;
export declare const VirtualNetworkLinksUpdateInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly privateZoneName: Schema.String;
    readonly virtualNetworkLinkName: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type VirtualNetworkLinksUpdateInput = typeof VirtualNetworkLinksUpdateInput.Type;
export declare const VirtualNetworkLinksUpdateOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type VirtualNetworkLinksUpdateOutput = typeof VirtualNetworkLinksUpdateOutput.Type;
/**
 * Updates a virtual network link to the specified Private DNS zone.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param privateZoneName - The name of the Private DNS zone (without a terminating dot).
 * @param virtualNetworkLinkName - The name of the virtual network link.
 * @param If-Match - The ETag of the virtual network link to the Private DNS zone. Omit this value to always overwrite the current virtual network link. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes.
 */
export declare const VirtualNetworkLinksUpdate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly privateZoneName: string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
    readonly virtualNetworkLinkName: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
//# sourceMappingURL=privatedns.d.ts.map