import * as effect_Cause from 'effect/Cause';
import * as effect_Types from 'effect/Types';
import { Effect } from 'effect';
declare const SelfHostWorkerBoundaryError_base: new = {}>(args: effect_Types.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => effect_Cause.YieldableError & {
readonly _tag: "SelfHostWorkerBoundaryError";
} & Readonly;
declare class SelfHostWorkerBoundaryError extends SelfHostWorkerBoundaryError_base<{
readonly operation: 'resolve_document' | 'forward_document';
readonly cause: unknown;
}> {
}
interface DurableObjectBinding {
idFromName(name: string): {
toString(): string;
};
get(id: {
toString(): string;
}): {
fetch(request: Request): Promise;
};
}
interface WorkerEnv {
DOCUMENT_AGENT: DurableObjectBinding;
DOCUMENT_AGENT_SHARED_SECRET?: string;
[key: string]: unknown;
}
/** Native self-host Worker routing/forwarding boundary. */
declare function handleRequestEffect(env: WorkerEnv, request: Request): Effect.Effect;
/**
* Minimal request router that forwards /document/:id/* and /v1/documents/:id/*
* to the corresponding Durable Object.
*/
declare function handleRequest(env: WorkerEnv): (request: Request) => Promise;
export { type DurableObjectBinding, SelfHostWorkerBoundaryError, type WorkerEnv, handleRequest, handleRequestEffect };