import type { AnalysisOptions } from '../analysis/types.ts'; import type { AnalysisRpcRequestPriority } from '../analysis/request-priority.ts'; import { BUILD_PREWARM_REQUEST_TIMEOUT_MS } from './prewarm/constants.ts'; type PrewarmCompletionPhase = 'ready' | 'settled'; export interface StartedPrewarmHandle { ready: Promise; settled: Promise; } interface RunPrewarmSafelyExecutionOptions { allowInlineFallback?: boolean; inlineFallbackCompletionPhase?: PrewarmCompletionPhase; requestPriority?: AnalysisRpcRequestPriority; timeoutMs?: number; } type PrewarmWorkerExecArgvResolverOptions = { execArgv?: readonly string[]; }; type PrewarmWorkerLaunchConfigResolverOptions = PrewarmWorkerExecArgvResolverOptions & { exists?: (path: string) => boolean; processFeatures?: { typescript?: unknown; }; }; export declare function createDefaultPrewarmOptions(rootPath?: string): { analysisOptions: Pick; }; export declare function resolvePrewarmWorkerLaunchConfig({ exists, processFeatures, execArgv, }?: PrewarmWorkerLaunchConfigResolverOptions): { entryFilePath: string; execArgv: string[]; } | undefined; export declare function resolvePrewarmWorkerEntryFilePath(options?: PrewarmWorkerLaunchConfigResolverOptions): string | undefined; export declare function startPrewarmSafely(options?: { analysisOptions?: AnalysisOptions; requestPriority?: AnalysisRpcRequestPriority; }, executionOptions?: RunPrewarmSafelyExecutionOptions): StartedPrewarmHandle; export declare function runPrewarmSafely(options?: { analysisOptions?: AnalysisOptions; requestPriority?: AnalysisRpcRequestPriority; }, executionOptions?: RunPrewarmSafelyExecutionOptions): Promise; export { BUILD_PREWARM_REQUEST_TIMEOUT_MS };