import { type CreateDriverOptions } from './agent.js';
import { type ActionsDriverOptions, type CloudDriverOptions, type Driver } from './driver/index.js';
/**
 * Build the {@link Driver} for a run's *target* (#1050): where the turn runs, on top of the agent
 * axis {@link createDriver} owns. `actions` returns an {@link ActionsDriver} (#934) built from the
 * resolved owner/repo/token; `web` returns a {@link CloudDriver} (#610), which hands the task to a
 * Claude Code cloud session; anything else falls through to the local agent driver — byte-identical
 * to today.
 *
 * Kept off {@link createDriver} on purpose: ActionsDriver's owner/repo/token do not fit
 * {@link CreateDriverOptions}, and folding them in would push GitHub config onto every local run.
 */
export interface CreateRunDriverOptions extends CreateDriverOptions {
    /**
     * Where the run executes: `local` (this device, the default), `actions` (a GitHub Actions
     * runner, #1050) or `web` (a Claude Code cloud session, #610).
     */
    target?: 'local' | 'actions' | 'web';
    /** The Actions runner config, required when {@link target} is `actions`. */
    actionsConfig?: ActionsDriverOptions;
    /** The cloud-session config used when {@link target} is `web`. Every field has a default. */
    cloudConfig?: CloudDriverOptions;
}
/** The one place a run path turns `--run-on` into a real driver. */
export declare function createRunDriver(opts: CreateRunDriverOptions): Driver;
//# sourceMappingURL=run-driver.d.ts.map