/**
 * Cloudflare CONNECTIVITY API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service connectivity
 */
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";
declare const VpcServiceNameAlreadyExists_base: Schema.Class<VpcServiceNameAlreadyExists, Schema.TaggedStruct<"VpcServiceNameAlreadyExists", {
    readonly code: Schema.Number;
    readonly message: Schema.String;
}>, import("effect/Cause").YieldableError>;
export declare class VpcServiceNameAlreadyExists extends VpcServiceNameAlreadyExists_base {
}
declare const VpcServiceNotFound_base: Schema.Class<VpcServiceNotFound, Schema.TaggedStruct<"VpcServiceNotFound", {
    readonly code: Schema.Number;
    readonly message: Schema.String;
}>, import("effect/Cause").YieldableError>;
export declare class VpcServiceNotFound extends VpcServiceNotFound_base {
}
declare const VpcTunnelNotFound_base: Schema.Class<VpcTunnelNotFound, Schema.TaggedStruct<"VpcTunnelNotFound", {
    readonly code: Schema.Number;
    readonly message: Schema.String;
}>, import("effect/Cause").YieldableError>;
export declare class VpcTunnelNotFound extends VpcTunnelNotFound_base {
}
export interface GetDirectoryServiceRequest {
    serviceId: string;
    accountId: string;
}
export declare const GetDirectoryServiceRequest: Schema.Schema<GetDirectoryServiceRequest>;
export interface GetDirectoryServiceResponse {
    host: {
        ipv4: string;
        network: {
            tunnelId: string;
        };
    } | {
        ipv6: string;
        network: {
            tunnelId: string;
        };
    } | {
        ipv4: string;
        ipv6: string;
        network: {
            tunnelId: string;
        };
    } | {
        hostname: string;
        resolverNetwork: {
            tunnelId: string;
            resolverIps?: string[] | null;
        };
    };
    name: string;
    type: "http";
    createdAt?: string | null;
    httpPort?: number | null;
    httpsPort?: number | null;
    serviceId?: string | null;
    updatedAt?: string | null;
}
export declare const GetDirectoryServiceResponse: Schema.Schema<GetDirectoryServiceResponse>;
export type GetDirectoryServiceError = DefaultErrors | VpcServiceNotFound;
export declare const getDirectoryService: API.OperationMethod<GetDirectoryServiceRequest, GetDirectoryServiceResponse, GetDirectoryServiceError, Credentials | HttpClient.HttpClient>;
export interface ListDirectoryServicesRequest {
    /** Path param: Account identifier */
    accountId: string;
    page?: number;
    perPage?: number;
    /** Query param: */
    type?: "http" | null;
}
export declare const ListDirectoryServicesRequest: Schema.Schema<ListDirectoryServicesRequest>;
export interface ListDirectoryServicesResponse {
    result: {
        host: {
            ipv4: string;
            network: {
                tunnelId: string;
            };
        } | {
            ipv6: string;
            network: {
                tunnelId: string;
            };
        } | {
            ipv4: string;
            ipv6: string;
            network: {
                tunnelId: string;
            };
        } | {
            hostname: string;
            resolverNetwork: {
                tunnelId: string;
                resolverIps?: string[] | null;
            };
        };
        name: string;
        type: "http";
        createdAt?: string | null;
        httpPort?: number | null;
        httpsPort?: number | null;
        serviceId?: string | null;
        updatedAt?: string | null;
    }[];
    resultInfo?: {
        count?: number | null;
        page?: number | null;
        perPage?: number | null;
        totalCount?: number | null;
    } | null;
}
export declare const ListDirectoryServicesResponse: Schema.Schema<ListDirectoryServicesResponse>;
export type ListDirectoryServicesError = DefaultErrors;
export declare const listDirectoryServices: API.PaginatedOperationMethod<ListDirectoryServicesRequest, ListDirectoryServicesResponse, ListDirectoryServicesError, Credentials | HttpClient.HttpClient>;
export interface CreateDirectoryServiceRequest {
    /** Path param: Account identifier */
    accountId: string;
    /** Body param: */
    host: {
        ipv4: string;
        network: {
            tunnelId: string;
        };
    } | {
        ipv6: string;
        network: {
            tunnelId: string;
        };
    } | {
        ipv4: string;
        ipv6: string;
        network: {
            tunnelId: string;
        };
    } | {
        hostname: string;
        resolverNetwork: {
            tunnelId: string;
            resolverIps?: string[] | null;
        };
    };
    /** Body param: */
    name: string;
    /** Body param: */
    type: "http";
    /** Body param: */
    httpPort?: number | null;
    /** Body param: */
    httpsPort?: number | null;
}
export declare const CreateDirectoryServiceRequest: Schema.Schema<CreateDirectoryServiceRequest>;
export interface CreateDirectoryServiceResponse {
    host: {
        ipv4: string;
        network: {
            tunnelId: string;
        };
    } | {
        ipv6: string;
        network: {
            tunnelId: string;
        };
    } | {
        ipv4: string;
        ipv6: string;
        network: {
            tunnelId: string;
        };
    } | {
        hostname: string;
        resolverNetwork: {
            tunnelId: string;
            resolverIps?: string[] | null;
        };
    };
    name: string;
    type: "http";
    createdAt?: string | null;
    httpPort?: number | null;
    httpsPort?: number | null;
    serviceId?: string | null;
    updatedAt?: string | null;
}
export declare const CreateDirectoryServiceResponse: Schema.Schema<CreateDirectoryServiceResponse>;
export type CreateDirectoryServiceError = DefaultErrors | VpcServiceNameAlreadyExists | VpcTunnelNotFound;
export declare const createDirectoryService: API.OperationMethod<CreateDirectoryServiceRequest, CreateDirectoryServiceResponse, CreateDirectoryServiceError, Credentials | HttpClient.HttpClient>;
export interface UpdateDirectoryServiceRequest {
    serviceId: string;
    /** Path param: */
    accountId: string;
    /** Body param: */
    host: {
        ipv4: string;
        network: {
            tunnelId: string;
        };
    } | {
        ipv6: string;
        network: {
            tunnelId: string;
        };
    } | {
        ipv4: string;
        ipv6: string;
        network: {
            tunnelId: string;
        };
    } | {
        hostname: string;
        resolverNetwork: {
            tunnelId: string;
            resolverIps?: string[] | null;
        };
    };
    /** Body param: */
    name: string;
    /** Body param: */
    type: "http";
    /** Body param: */
    httpPort?: number | null;
    /** Body param: */
    httpsPort?: number | null;
}
export declare const UpdateDirectoryServiceRequest: Schema.Schema<UpdateDirectoryServiceRequest>;
export interface UpdateDirectoryServiceResponse {
    host: {
        ipv4: string;
        network: {
            tunnelId: string;
        };
    } | {
        ipv6: string;
        network: {
            tunnelId: string;
        };
    } | {
        ipv4: string;
        ipv6: string;
        network: {
            tunnelId: string;
        };
    } | {
        hostname: string;
        resolverNetwork: {
            tunnelId: string;
            resolverIps?: string[] | null;
        };
    };
    name: string;
    type: "http";
    createdAt?: string | null;
    httpPort?: number | null;
    httpsPort?: number | null;
    serviceId?: string | null;
    updatedAt?: string | null;
}
export declare const UpdateDirectoryServiceResponse: Schema.Schema<UpdateDirectoryServiceResponse>;
export type UpdateDirectoryServiceError = DefaultErrors | VpcServiceNotFound | VpcServiceNameAlreadyExists | VpcTunnelNotFound;
export declare const updateDirectoryService: API.OperationMethod<UpdateDirectoryServiceRequest, UpdateDirectoryServiceResponse, UpdateDirectoryServiceError, Credentials | HttpClient.HttpClient>;
export interface DeleteDirectoryServiceRequest {
    serviceId: string;
    accountId: string;
}
export declare const DeleteDirectoryServiceRequest: Schema.Schema<DeleteDirectoryServiceRequest>;
export type DeleteDirectoryServiceResponse = unknown;
export declare const DeleteDirectoryServiceResponse: Schema.Schema<DeleteDirectoryServiceResponse>;
export type DeleteDirectoryServiceError = DefaultErrors | VpcServiceNotFound;
export declare const deleteDirectoryService: API.OperationMethod<DeleteDirectoryServiceRequest, DeleteDirectoryServiceResponse, DeleteDirectoryServiceError, Credentials | HttpClient.HttpClient>;
export {};
//# sourceMappingURL=connectivity.d.ts.map