/**
 * push-dispatch.ts — Nexus push-mode dispatch engine.
 *
 * Lifecycle for a single push-dispatch run:
 *   1. Resolve invoker (by preferredRuntime or auto-fallback).
 *   2. Build ContextPack from memories + file candidates + cr-graph context.
 *   3. Spawn child agent via invoker.dispatch().
 *   4. Emit DispatchEvents to nexusEventBus (for SSE streaming to dashboard).
 *   5. On completion:  write auto-memory, update operative spend, emit complete.
 *   6. On cancellation / budget breach: kill child, emit failed.
 *
 * Pull mode (IDE → nexus) remains unchanged and coexists.
 */
export interface PushDispatchOptions {
    goal: string;
    specialistId: string;
    operativeId: string;
    budgetCapUsd: number;
    workingDir: string;
    repoName: string;
    timeoutMs?: number;
    memories?: Array<{
        id: string;
        content: string;
        tier: string;
        priority: number;
    }>;
    files?: string[];
    crGraphContext?: string | null;
    storeMemory?: (content: string, priority: number, tags: string[]) => Promise<void>;
    updateSpend?: (operativeId: string, costUsd: number) => Promise<void>;
    preferredRuntime?: string;
}
export interface PushDispatchResult {
    runId: string;
    pid: number;
    invoker: string;
}
export declare function pushDispatch(opts: PushDispatchOptions): Promise<PushDispatchResult>;
/** Cancels a running dispatch by runId. Returns true if found and cancelled. */
export declare function cancelDispatch(runId: string): Promise<boolean>;
/** Returns a snapshot of all in-flight dispatches. */
export declare function listActiveDispatches(): Array<{
    runId: string;
    operativeId: string;
    startedAt: number;
}>;
