/**
 * Cloudflare CUSTOM-NAMESERVERS API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service custom-nameservers
 */
import * as Schema from "effect/Schema";
import type * as HttpClient from "effect/unstable/http/HttpClient";
import * as API from "../client/api.ts";
import type { Credentials } from "../credentials.ts";
import { type DefaultErrors } from "../errors.ts";
export interface GetCustomNameserverRequest {
    /** Account identifier tag. */
    accountId: string;
}
export declare const GetCustomNameserverRequest: Schema.Schema<GetCustomNameserverRequest>;
export interface GetCustomNameserverResponse {
    result: {
        dnsRecords: {
            type?: "A" | "AAAA" | null;
            value?: string | null;
        }[];
        nsName: string;
        status: "moved" | "pending" | "verified";
        zoneTag: string;
        nsSet?: number | null;
    }[];
}
export declare const GetCustomNameserverResponse: Schema.Schema<GetCustomNameserverResponse>;
export type GetCustomNameserverError = DefaultErrors;
export declare const getCustomNameserver: API.PaginatedOperationMethod<GetCustomNameserverRequest, GetCustomNameserverResponse, GetCustomNameserverError, Credentials | HttpClient.HttpClient>;
export interface CreateCustomNameserverRequest {
    /** Path param: Account identifier tag. */
    accountId: string;
    /** Body param: The FQDN of the name server. */
    nsName: string;
    /** Body param: The number of the set that this name server belongs to. */
    nsSet?: number;
}
export declare const CreateCustomNameserverRequest: Schema.Schema<CreateCustomNameserverRequest>;
export interface CreateCustomNameserverResponse {
    /** A and AAAA records associated with the nameserver. */
    dnsRecords: {
        type?: "A" | "AAAA" | null;
        value?: string | null;
    }[];
    /** The FQDN of the name server. */
    nsName: string;
    /** @deprecated Verification status of the nameserver. */
    status: "moved" | "pending" | "verified";
    /** Identifier. */
    zoneTag: string;
    /** The number of the set that this name server belongs to. */
    nsSet?: number | null;
}
export declare const CreateCustomNameserverResponse: Schema.Schema<CreateCustomNameserverResponse>;
export type CreateCustomNameserverError = DefaultErrors;
export declare const createCustomNameserver: API.OperationMethod<CreateCustomNameserverRequest, CreateCustomNameserverResponse, CreateCustomNameserverError, Credentials | HttpClient.HttpClient>;
export interface DeleteCustomNameserverRequest {
    customNSId: string;
    /** Account identifier tag. */
    accountId: string;
}
export declare const DeleteCustomNameserverRequest: Schema.Schema<DeleteCustomNameserverRequest>;
export interface DeleteCustomNameserverResponse {
    result: string[];
}
export declare const DeleteCustomNameserverResponse: Schema.Schema<DeleteCustomNameserverResponse>;
export type DeleteCustomNameserverError = DefaultErrors;
export declare const deleteCustomNameserver: API.PaginatedOperationMethod<DeleteCustomNameserverRequest, DeleteCustomNameserverResponse, DeleteCustomNameserverError, Credentials | HttpClient.HttpClient>;
//# sourceMappingURL=custom-nameservers.d.ts.map