import { DurableEventData } from "../data";
import type { DurableFetchEventCache, DurableFetchEventData } from "./events";
export declare function isDurableFetchEventCache(value: unknown): value is DurableFetchEventCache;
export interface GenericRespondWith<R> {
    handled: Promise<void>;
    respondWith(value: R | Promise<R>): void;
}
export interface WaitUntil {
    waitUntil(promise: Promise<void | unknown>): void;
}
export interface ExtendableEvent extends WaitUntil, DurableEventData {
}
interface InternalWaitUntil extends WaitUntil {
    wait(): Promise<void>;
}
export interface FetchRespondWith extends GenericRespondWith<Response> {
}
interface InternalFetchRespondWith extends FetchRespondWith {
    promise: Promise<Response>;
}
export declare function createRespondWith(event?: unknown): FetchRespondWith & Partial<InternalFetchRespondWith>;
export declare function createWaitUntil(event?: unknown): WaitUntil & Partial<InternalWaitUntil>;
export declare function isDurableFetchEventData(event?: DurableEventData): event is DurableFetchEventData;
export declare const removeFetchDispatcherFunction: () => void;
export {};
