import * as Schema from "effect/Schema";
import { type ApiErrorClass, type OperationMethod, type PaginatedOperationMethod } from "@distilled.cloud/core/client";
import { type PaginationStrategy } from "@distilled.cloud/core/pagination";
import { type RequestParts } from "@distilled.cloud/core/traits";
import { Credentials } from "../credentials.ts";
export type { OperationMethod, PaginatedOperationMethod };
export declare const transformCloudflareRequestParts: ({ pathTemplate, parts, }: {
    pathTemplate: string;
    parts: RequestParts;
}) => RequestParts;
declare const _API: {
    make: <I extends Schema.Top, O extends Schema.Top, const E extends readonly ApiErrorClass[] = readonly []>(configFn: () => import("@distilled.cloud/core/client").OperationConfig<I, O, E>) => OperationMethod<Schema.Schema.Type<I>, Schema.Schema.Type<O>, InstanceType<E[number]>, Credentials>;
    makePaginated: <I extends Schema.Top, O extends Schema.Top, const E extends readonly ApiErrorClass[] = readonly []>(configFn: () => import("@distilled.cloud/core/client").PaginatedOperationConfig<I, O, E>, paginateFn?: PaginationStrategy) => PaginatedOperationMethod<Schema.Schema.Type<I>, Schema.Schema.Type<O>, InstanceType<E[number]>, Credentials>;
};
export declare const make: <I extends Schema.Top, O extends Schema.Top, const E extends readonly ApiErrorClass[] = readonly []>(configFn: () => import("@distilled.cloud/core/client").OperationConfig<I, O, E>) => OperationMethod<Schema.Schema.Type<I>, Schema.Schema.Type<O>, InstanceType<E[number]>, Credentials>;
export declare const makePaginated: typeof _API.makePaginated;
//# sourceMappingURL=api.d.ts.map