import { APIResource } from "../../core/resource.mjs";
import { APIPromise } from "../../core/api-promise.mjs";
import { CursorPagination, type CursorPaginationParams, PagePromise } from "../../core/pagination.mjs";
import { RequestOptions } from "../../internal/request-options.mjs";
export declare class BaseRegions extends APIResource {
    static readonly _key: readonly ['dls', 'regions'];
    /**
     * List DLS regions for an account
     *
     * @example
     * ```ts
     * // Automatically fetches more pages as needed.
     * for await (const regionListResponse of client.dls.regions.list(
     *   { account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
     * )) {
     *   // ...
     * }
     * ```
     */
    list(params: RegionListParams, options?: RequestOptions): PagePromise<RegionListResponsesCursorPagination, RegionListResponse>;
    /**
     * Get a DLS region
     *
     * @example
     * ```ts
     * const region = await client.dls.regions.get(
     *   'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
     *   { account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
     * );
     * ```
     */
    get(regionID: string, params: RegionGetParams, options?: RequestOptions): APIPromise<RegionGetResponse>;
}
export declare class Regions extends BaseRegions {
}
export type RegionListResponsesCursorPagination = CursorPagination<RegionListResponse>;
export interface RegionListResponse {
    id: string;
    created_on: string;
    modified_on: string;
    name: string;
    region_key: string;
    version: number;
    version_created_on: string;
}
export interface RegionGetResponse {
    id: string;
    created_on: string;
    modified_on: string;
    name: string;
    region_key: string;
    version: number;
    version_created_on: string;
}
export interface RegionListParams extends CursorPaginationParams {
    /**
     * Path param: Identifier of a Cloudflare account.
     */
    account_id: string;
    /**
     * Query param: Filter regions by type. Omit to return all regions.
     */
    type?: 'managed' | 'custom';
}
export interface RegionGetParams {
    /**
     * Identifier of a Cloudflare account.
     */
    account_id: string;
}
export declare namespace Regions {
    export { type RegionListResponse as RegionListResponse, type RegionGetResponse as RegionGetResponse, type RegionListResponsesCursorPagination as RegionListResponsesCursorPagination, type RegionListParams as RegionListParams, type RegionGetParams as RegionGetParams, };
}
//# sourceMappingURL=regions.d.mts.map