import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as RoutesAPI from 'cloudflare/resources/workers/routes';
import { SinglePage } from 'cloudflare/pagination';
export declare class Routes extends APIResource {
    /**
     * Creates a route that maps a URL pattern to a Worker.
     */
    create(params: RouteCreateParams, options?: Core.RequestOptions): Core.APIPromise<RouteCreateResponse>;
    /**
     * Updates the URL pattern or Worker associated with a route.
     */
    update(routeId: string, params: RouteUpdateParams, options?: Core.RequestOptions): Core.APIPromise<WorkersRoute>;
    /**
     * Returns routes for a zone.
     */
    list(params: RouteListParams, options?: Core.RequestOptions): Core.PagePromise<WorkersRoutesSinglePage, WorkersRoute>;
    /**
     * Deletes a route.
     */
    delete(routeId: string, params: RouteDeleteParams, options?: Core.RequestOptions): Core.APIPromise<RouteDeleteResponse>;
    /**
     * Returns information about a route, including URL pattern and Worker.
     */
    get(routeId: string, params: RouteGetParams, options?: Core.RequestOptions): Core.APIPromise<WorkersRoute>;
}
export declare class WorkersRoutesSinglePage extends SinglePage<WorkersRoute> {
}
export interface WorkersRoute {
    /**
     * Identifier
     */
    id: string;
    pattern: string;
    /**
     * Name of the script, used in URLs and route configuration.
     */
    script: string;
}
export type RouteCreateResponse = unknown | string;
export type RouteDeleteResponse = unknown | string;
export interface RouteCreateParams {
    /**
     * Path param: Identifier
     */
    zone_id: string;
    /**
     * Body param:
     */
    pattern: string;
    /**
     * Body param: Name of the script, used in URLs and route configuration.
     */
    script?: string;
}
export interface RouteUpdateParams {
    /**
     * Path param: Identifier
     */
    zone_id: string;
    /**
     * Body param:
     */
    pattern: string;
    /**
     * Body param: Name of the script, used in URLs and route configuration.
     */
    script?: string;
}
export interface RouteListParams {
    /**
     * Identifier
     */
    zone_id: string;
}
export interface RouteDeleteParams {
    /**
     * Identifier
     */
    zone_id: string;
}
export interface RouteGetParams {
    /**
     * Identifier
     */
    zone_id: string;
}
export declare namespace Routes {
    export import WorkersRoute = RoutesAPI.WorkersRoute;
    export import RouteCreateResponse = RoutesAPI.RouteCreateResponse;
    export import RouteDeleteResponse = RoutesAPI.RouteDeleteResponse;
    export import WorkersRoutesSinglePage = RoutesAPI.WorkersRoutesSinglePage;
    export import RouteCreateParams = RoutesAPI.RouteCreateParams;
    export import RouteUpdateParams = RoutesAPI.RouteUpdateParams;
    export import RouteListParams = RoutesAPI.RouteListParams;
    export import RouteDeleteParams = RoutesAPI.RouteDeleteParams;
    export import RouteGetParams = RoutesAPI.RouteGetParams;
}
//# sourceMappingURL=routes.d.ts.map