/**
 * Cloudflare DIAGNOSTICS API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service diagnostics
 */
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 GetEndpointHealthcheckRequest {
    id: string;
    /** Identifier */
    accountId: string;
}
export declare const GetEndpointHealthcheckRequest: Schema.Schema<GetEndpointHealthcheckRequest>;
export interface GetEndpointHealthcheckResponse {
    /** type of check to perform */
    checkType: "icmp";
    /** the IP address of the host to perform checks against */
    endpoint: string;
    /** UUID. */
    id?: string | null;
    /** Optional name associated with this check */
    name?: string | null;
}
export declare const GetEndpointHealthcheckResponse: Schema.Schema<GetEndpointHealthcheckResponse>;
export type GetEndpointHealthcheckError = DefaultErrors;
export declare const getEndpointHealthcheck: API.OperationMethod<GetEndpointHealthcheckRequest, GetEndpointHealthcheckResponse, GetEndpointHealthcheckError, Credentials | HttpClient.HttpClient>;
export interface ListEndpointHealthchecksRequest {
    /** Identifier */
    accountId: string;
}
export declare const ListEndpointHealthchecksRequest: Schema.Schema<ListEndpointHealthchecksRequest>;
export interface ListEndpointHealthchecksResponse {
    /** type of check to perform */
    checkType: "icmp";
    /** the IP address of the host to perform checks against */
    endpoint: string;
    /** UUID. */
    id?: string | null;
    /** Optional name associated with this check */
    name?: string | null;
}
export declare const ListEndpointHealthchecksResponse: Schema.Schema<ListEndpointHealthchecksResponse>;
export type ListEndpointHealthchecksError = DefaultErrors;
export declare const listEndpointHealthchecks: API.OperationMethod<ListEndpointHealthchecksRequest, ListEndpointHealthchecksResponse, ListEndpointHealthchecksError, Credentials | HttpClient.HttpClient>;
export interface CreateEndpointHealthcheckRequest {
    /** Path param: Identifier */
    accountId: string;
    /** Body param: type of check to perform */
    checkType: "icmp";
    /** Body param: the IP address of the host to perform checks against */
    endpoint: string;
    /** Body param: Optional name associated with this check */
    name?: string;
}
export declare const CreateEndpointHealthcheckRequest: Schema.Schema<CreateEndpointHealthcheckRequest>;
export interface CreateEndpointHealthcheckResponse {
    /** type of check to perform */
    checkType: "icmp";
    /** the IP address of the host to perform checks against */
    endpoint: string;
    /** UUID. */
    id?: string | null;
    /** Optional name associated with this check */
    name?: string | null;
}
export declare const CreateEndpointHealthcheckResponse: Schema.Schema<CreateEndpointHealthcheckResponse>;
export type CreateEndpointHealthcheckError = DefaultErrors;
export declare const createEndpointHealthcheck: API.OperationMethod<CreateEndpointHealthcheckRequest, CreateEndpointHealthcheckResponse, CreateEndpointHealthcheckError, Credentials | HttpClient.HttpClient>;
export interface UpdateEndpointHealthcheckRequest {
    id: string;
    /** Path param: Identifier */
    accountId: string;
    /** Body param: type of check to perform */
    checkType: "icmp";
    /** Body param: the IP address of the host to perform checks against */
    endpoint: string;
    /** Body param: Optional name associated with this check */
    name?: string;
}
export declare const UpdateEndpointHealthcheckRequest: Schema.Schema<UpdateEndpointHealthcheckRequest>;
export interface UpdateEndpointHealthcheckResponse {
    /** type of check to perform */
    checkType: "icmp";
    /** the IP address of the host to perform checks against */
    endpoint: string;
    /** UUID. */
    id?: string | null;
    /** Optional name associated with this check */
    name?: string | null;
}
export declare const UpdateEndpointHealthcheckResponse: Schema.Schema<UpdateEndpointHealthcheckResponse>;
export type UpdateEndpointHealthcheckError = DefaultErrors;
export declare const updateEndpointHealthcheck: API.OperationMethod<UpdateEndpointHealthcheckRequest, UpdateEndpointHealthcheckResponse, UpdateEndpointHealthcheckError, Credentials | HttpClient.HttpClient>;
export interface DeleteEndpointHealthcheckRequest {
    id: string;
    /** Identifier */
    accountId: string;
}
export declare const DeleteEndpointHealthcheckRequest: Schema.Schema<DeleteEndpointHealthcheckRequest>;
export interface DeleteEndpointHealthcheckResponse {
    errors: {
        code: number;
        message: string;
        documentationUrl?: string | null;
        source?: {
            pointer?: string | null;
        } | null;
    }[];
    messages: {
        code: number;
        message: string;
        documentationUrl?: string | null;
        source?: {
            pointer?: string | null;
        } | null;
    }[];
    /** Whether the API call was successful. */
    success: true;
}
export declare const DeleteEndpointHealthcheckResponse: Schema.Schema<DeleteEndpointHealthcheckResponse>;
export type DeleteEndpointHealthcheckError = DefaultErrors;
export declare const deleteEndpointHealthcheck: API.OperationMethod<DeleteEndpointHealthcheckRequest, DeleteEndpointHealthcheckResponse, DeleteEndpointHealthcheckError, Credentials | HttpClient.HttpClient>;
export interface CreateTracerouteRequest {
    /** Path param: Identifier */
    accountId: string;
    /** Body param: */
    targets: string[];
    /** Body param: If no source colo names specified, all colos will be used. China colos are unavailable for traceroutes. */
    colos?: string[];
    /** Body param: */
    options?: {
        maxTtl?: number;
        packetType?: "icmp" | "tcp" | "udp" | "gre" | "gre+icmp";
        packetsPerTtl?: number;
        port?: number;
        waitTime?: number;
    };
}
export declare const CreateTracerouteRequest: Schema.Schema<CreateTracerouteRequest>;
export interface CreateTracerouteResponse {
    result: {
        colos?: {
            colo?: {
                city?: string | null;
                name?: string | null;
            } | null;
            error?: "" | "Could not gather traceroute data: Code 1" | "Could not gather traceroute data: Code 2" | "Could not gather traceroute data: Code 3" | "Could not gather traceroute data: Code 4" | null;
            hops?: {
                nodes?: {
                    asn?: string | null;
                    ip?: string | null;
                    labels?: string[] | null;
                    maxRttMs?: number | null;
                    meanRttMs?: number | null;
                    minRttMs?: number | null;
                    name?: string | null;
                    packetCount?: number | null;
                    stdDevRttMs?: number | null;
                }[] | null;
                packetsLost?: number | null;
                packetsSent?: number | null;
                packetsTtl?: number | null;
            }[] | null;
            targetSummary?: unknown | null;
            tracerouteTimeMs?: number | null;
        }[] | null;
        target?: string | null;
    }[];
}
export declare const CreateTracerouteResponse: Schema.Schema<CreateTracerouteResponse>;
export type CreateTracerouteError = DefaultErrors;
export declare const createTraceroute: API.PaginatedOperationMethod<CreateTracerouteRequest, CreateTracerouteResponse, CreateTracerouteError, Credentials | HttpClient.HttpClient>;
//# sourceMappingURL=diagnostics.d.ts.map