import type { Type } from "../../types/definitions";
import type { SuspensionCapturedVariable, SuspensionPoint } from "../shared/suspension-analysis-types";
export interface AwaitPoint extends SuspensionPoint {
    resultType: Type;
    futureType?: Type;
    futureVariableId?: string;
}
export interface CapturedVariable extends SuspensionCapturedVariable {
    kind: "local" | "outer";
    isOwningTheSameRcValueAs: CapturedVariable | undefined;
}
export interface AwaitAnalysisResult {
    awaitPoints: AwaitPoint[];
    capturedVariables: CapturedVariable[];
    hasAwaits: boolean;
    variableIdRemapping: Map<string, string>;
}
