import type { StaticHandler, unstable_DataStrategyFunctionArgs as DataStrategyFunctionArgs, StaticHandlerContext, UNSAFE_SingleFetchRedirectResult as SingleFetchRedirectResult, UNSAFE_SingleFetchResult as SingleFetchResult, UNSAFE_SingleFetchResults as SingleFetchResults } from "react-router"; import { UNSAFE_SingleFetchRedirectSymbol as SingleFetchRedirectSymbol } from "react-router"; import type { AppLoadContext } from "./data"; import { ServerMode } from "./mode"; import type { ResponseStub, ResponseStubImpl } from "./routeModules"; export type { SingleFetchResult, SingleFetchResults }; export { SingleFetchRedirectSymbol }; export type DataStrategyCtx = { response: ResponseStub; }; export declare function getSingleFetchDataStrategy(responseStubs: ReturnType, { isActionDataRequest, loadRouteIds, }?: { isActionDataRequest?: boolean; loadRouteIds?: string[]; }): ({ request, matches }: DataStrategyFunctionArgs) => Promise; export declare function singleFetchAction(serverMode: ServerMode, staticHandler: StaticHandler, request: Request, handlerUrl: URL, loadContext: AppLoadContext, handleError: (err: unknown) => void): Promise<{ result: SingleFetchResult; headers: Headers; status: number; }>; export declare function singleFetchLoaders(serverMode: ServerMode, staticHandler: StaticHandler, request: Request, handlerUrl: URL, loadContext: AppLoadContext, handleError: (err: unknown) => void): Promise<{ result: SingleFetchResults; headers: Headers; status: number; }>; export declare function isResponseStub(value: any): value is ResponseStubImpl; export declare function getResponseStubs(): Record; export declare function mergeResponseStubs(context: StaticHandlerContext, responseStubs: ReturnType, { isActionDataRequest }?: { isActionDataRequest?: boolean; }): { statusCode: number; headers: Headers; }; export declare function getSingleFetchRedirect(status: number, headers: Headers): SingleFetchRedirectResult; export declare function encodeViaTurboStream(data: any, requestSignal: AbortSignal, streamTimeout: number | undefined, serverMode: ServerMode): ReadableStream;