import { PreflightAdapter, SetupAdapter, ImplementationAdapter, ProofAdapter, JudgeAdapter, ShipAdapter, NotificationAdapter, RiddleProofRunParams, RiddleProofRunState, RiddleProofRunResult } from './types.js';

interface RiddleProofRunnerAdapters {
    preflight?: PreflightAdapter;
    setup?: SetupAdapter;
    implementation?: ImplementationAdapter;
    proof?: ProofAdapter;
    judge?: JudgeAdapter;
    ship?: ShipAdapter;
    notification?: NotificationAdapter;
}
interface RunRiddleProofInput {
    request: RiddleProofRunParams;
    adapters: RiddleProofRunnerAdapters;
    state?: RiddleProofRunState;
    state_path?: string;
    workdir?: string;
    max_iterations?: number;
}
declare function runRiddleProof(input: RunRiddleProofInput): Promise<RiddleProofRunResult>;

type runner_RiddleProofRunnerAdapters = RiddleProofRunnerAdapters;
type runner_RunRiddleProofInput = RunRiddleProofInput;
declare const runner_runRiddleProof: typeof runRiddleProof;
declare namespace runner {
  export { type runner_RiddleProofRunnerAdapters as RiddleProofRunnerAdapters, type runner_RunRiddleProofInput as RunRiddleProofInput, runner_runRiddleProof as runRiddleProof };
}

export { type RiddleProofRunnerAdapters as R, type RunRiddleProofInput as a, runner as b, runRiddleProof as r };
