import type { EnvironmentSize, ExecutionEnvironment, ExecutionEnvironmentProvider, ExecutionEnvironmentRequest } from "./types.js"; export interface HttpEnvironmentFetchResponse { ok: boolean; status: number; statusText: string; json(): Promise; } export type HttpEnvironmentFetch = (url: string, init: { method: string; headers: Record; body?: string; }) => Promise; export type HttpEnvironmentPath = string | ((environment: ExecutionEnvironment) => string); export interface HttpExecutionEnvironmentProviderOptions { baseUrl: string; provider?: string; token?: string; headers?: Record; provisionPath?: string; releasePath?: HttpEnvironmentPath; healthPath?: HttpEnvironmentPath; image?: string; defaultSize?: EnvironmentSize; fetch?: HttpEnvironmentFetch; clock?: () => Date; } export type CerebroExecutionEnvironmentProviderOptions = Omit; export declare class HttpExecutionEnvironmentProvider implements ExecutionEnvironmentProvider { private readonly options; private readonly baseUrl; private readonly fetchImpl; private readonly clock; constructor(options: HttpExecutionEnvironmentProviderOptions); provision(request: ExecutionEnvironmentRequest): Promise; release(environment: ExecutionEnvironment, reason: string): Promise; health(environment: ExecutionEnvironment): Promise; } export declare class CerebroExecutionEnvironmentProvider extends HttpExecutionEnvironmentProvider { constructor(options: CerebroExecutionEnvironmentProviderOptions); } //# sourceMappingURL=http-environment.d.ts.map