/**
 * Cloudflare DLS API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service dls
 */
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 GetRegionRequest {
    regionId: string;
    accountId: number;
}
export declare const GetRegionRequest: Schema.Schema<GetRegionRequest>;
export interface GetRegionResponse {
    id: string;
    createdOn: string;
    modifiedOn: string;
    name: string;
    regionKey: string;
    version: number;
    versionCreatedOn: string;
}
export declare const GetRegionResponse: Schema.Schema<GetRegionResponse>;
export type GetRegionError = DefaultErrors;
export declare const getRegion: API.OperationMethod<GetRegionRequest, GetRegionResponse, GetRegionError, Credentials | HttpClient.HttpClient>;
export interface ListRegionsRequest {
    /** Path param */
    accountId: number;
    perPage?: number;
    cursor?: string;
    /** Query param: Filter regions by type. Omit to return all regions. */
    type?: "managed" | "custom" | (string & {});
}
export declare const ListRegionsRequest: Schema.Schema<ListRegionsRequest>;
export interface ListRegionsResponse {
    result: {
        id: string;
        createdOn: string;
        modifiedOn: string;
        name: string;
        regionKey: string;
        version: number;
        versionCreatedOn: string;
    }[];
    resultInfo?: {
        count?: number | null;
        cursor?: string | null;
        perPage?: number | null;
    } | null;
}
export declare const ListRegionsResponse: Schema.Schema<ListRegionsResponse>;
export type ListRegionsError = DefaultErrors;
export declare const listRegions: API.PaginatedOperationMethod<ListRegionsRequest, ListRegionsResponse, ListRegionsError, Credentials | HttpClient.HttpClient>;
export interface GetRegionalServicePrefixBindingRequest {
    bindingId: string;
    accountId: number;
}
export declare const GetRegionalServicePrefixBindingRequest: Schema.Schema<GetRegionalServicePrefixBindingRequest>;
export interface GetRegionalServicePrefixBindingResponse {
    /** The ID of the binding. */
    id: string;
    /** The CIDR that is bound. */
    cidr: string;
    /** The ID of the parent prefix. */
    prefixId: string;
    /** The region key used for the binding. */
    regionKey: string;
}
export declare const GetRegionalServicePrefixBindingResponse: Schema.Schema<GetRegionalServicePrefixBindingResponse>;
export type GetRegionalServicePrefixBindingError = DefaultErrors;
export declare const getRegionalServicePrefixBinding: API.OperationMethod<GetRegionalServicePrefixBindingRequest, GetRegionalServicePrefixBindingResponse, GetRegionalServicePrefixBindingError, Credentials | HttpClient.HttpClient>;
export interface ListRegionalServicePrefixBindingsRequest {
    /** Path param */
    accountId: number;
    perPage?: number;
    cursor?: string;
}
export declare const ListRegionalServicePrefixBindingsRequest: Schema.Schema<ListRegionalServicePrefixBindingsRequest>;
export interface ListRegionalServicePrefixBindingsResponse {
    result: {
        id: string;
        cidr: string;
        prefixId: string;
        regionKey: string;
    }[];
    resultInfo?: {
        count?: number | null;
        cursor?: string | null;
        perPage?: number | null;
    } | null;
}
export declare const ListRegionalServicePrefixBindingsResponse: Schema.Schema<ListRegionalServicePrefixBindingsResponse>;
export type ListRegionalServicePrefixBindingsError = DefaultErrors;
export declare const listRegionalServicePrefixBindings: API.PaginatedOperationMethod<ListRegionalServicePrefixBindingsRequest, ListRegionalServicePrefixBindingsResponse, ListRegionalServicePrefixBindingsError, Credentials | HttpClient.HttpClient>;
export interface CreateRegionalServicePrefixBindingRequest {
    /** Path param */
    accountId: number;
    /** Body param: IP prefix in CIDR notation to bind. */
    cidr: string;
    /** Body param: The ID of the parent IP prefix that contains the CIDR. */
    prefixId: string;
    /** Body param: Region key from managed regions (e.g., "us", "eu"). */
    regionKey: string;
}
export declare const CreateRegionalServicePrefixBindingRequest: Schema.Schema<CreateRegionalServicePrefixBindingRequest>;
export interface CreateRegionalServicePrefixBindingResponse {
    /** The ID of the binding. */
    id: string;
    /** The CIDR that is bound. */
    cidr: string;
    /** The ID of the parent prefix. */
    prefixId: string;
    /** The region key used for the binding. */
    regionKey: string;
}
export declare const CreateRegionalServicePrefixBindingResponse: Schema.Schema<CreateRegionalServicePrefixBindingResponse>;
export type CreateRegionalServicePrefixBindingError = DefaultErrors;
export declare const createRegionalServicePrefixBinding: API.OperationMethod<CreateRegionalServicePrefixBindingRequest, CreateRegionalServicePrefixBindingResponse, CreateRegionalServicePrefixBindingError, Credentials | HttpClient.HttpClient>;
export interface PatchRegionalServicePrefixBindingRequest {
    bindingId: string;
    /** Path param */
    accountId: number;
    /** Body param: New region key to assign (e.g., "us", "eu", "cfcanary"). */
    regionKey: string;
}
export declare const PatchRegionalServicePrefixBindingRequest: Schema.Schema<PatchRegionalServicePrefixBindingRequest>;
export interface PatchRegionalServicePrefixBindingResponse {
    /** The ID of the binding. */
    id: string;
    /** The CIDR that is bound. */
    cidr: string;
    /** The ID of the parent prefix. */
    prefixId: string;
    /** The region key used for the binding. */
    regionKey: string;
}
export declare const PatchRegionalServicePrefixBindingResponse: Schema.Schema<PatchRegionalServicePrefixBindingResponse>;
export type PatchRegionalServicePrefixBindingError = DefaultErrors;
export declare const patchRegionalServicePrefixBinding: API.OperationMethod<PatchRegionalServicePrefixBindingRequest, PatchRegionalServicePrefixBindingResponse, PatchRegionalServicePrefixBindingError, Credentials | HttpClient.HttpClient>;
export interface DeleteRegionalServicePrefixBindingRequest {
    bindingId: string;
    accountId: number;
}
export declare const DeleteRegionalServicePrefixBindingRequest: Schema.Schema<DeleteRegionalServicePrefixBindingRequest>;
export interface DeleteRegionalServicePrefixBindingResponse {
    messages: {
        code: number;
        message: string;
        documentationUrl?: string | null;
        source?: {
            pointer?: string | null;
        } | null;
    }[];
    success: boolean;
    errors?: {
        code: number;
        message: string;
        documentationUrl?: string | null;
        source?: {
            pointer?: string | null;
        } | null;
    }[] | null;
}
export declare const DeleteRegionalServicePrefixBindingResponse: Schema.Schema<DeleteRegionalServicePrefixBindingResponse>;
export type DeleteRegionalServicePrefixBindingError = DefaultErrors;
export declare const deleteRegionalServicePrefixBinding: API.OperationMethod<DeleteRegionalServicePrefixBindingRequest, DeleteRegionalServicePrefixBindingResponse, DeleteRegionalServicePrefixBindingError, Credentials | HttpClient.HttpClient>;
//# sourceMappingURL=dls.d.ts.map