import type { DriverEvent } from './types.js';
/**
 * A {@link DriverStartOptions.onEvent} caller that never lets a listener throw into the
 * driver — a throwing dashboard handler must not abort the agent. An absent `onEvent`
 * is a no-op. `driver` names it in the swallow log so a thrown handler stays traceable.
 */
export declare function makeEmit(onEvent: ((event: DriverEvent) => void) | undefined, driver: string): (event: DriverEvent) => void;
/** The live AbortSignals for a prompt — the session's and the per-call one, minus the absent. */
export declare function combineSignals(...signals: (AbortSignal | undefined)[]): AbortSignal[];
/** Fold a session's framing and a per-call system prompt into one blank-line-separated block. */
export declare function combineFraming(...parts: (string | undefined)[]): string;
/** Read a workspace file relative to the session cwd — the driver's `readCode`. */
export declare function readWorkspaceFile(cwd: string, path: string): Promise<string>;
//# sourceMappingURL=session-support.d.ts.map