import type { SendTurnPayload } from "#client/types.js";
import type { DevelopmentTarget } from "#services/dev-client/target.js";
import { type InvokeResult, type InvokeResume } from "./result.js";
export type InvokeOperation = {
    readonly kind: "send";
    readonly payload: SendTurnPayload;
    readonly resume?: InvokeResume;
} | {
    readonly kind: "follow";
    readonly resume: InvokeResume;
};
export interface RunInvokeInput {
    readonly headers?: Readonly<Record<string, string>>;
    readonly operation: InvokeOperation;
    readonly signal?: AbortSignal;
    readonly target: DevelopmentTarget;
    readonly vercelScope?: string;
}
/** Runs one non-interactive eve invocation. */
export declare function runInvoke(input: RunInvokeInput): Promise<InvokeResult>;
/** Converts a prompt and optional previous result into one valid invoke operation. */
export declare function resolveInvokeOperation(input: {
    readonly prompt?: string;
    readonly previous?: InvokeResult & {
        resume: InvokeResume;
    };
}): InvokeOperation;
