import type { AgentModelAttempt } from "../run-state/index.js";
import type { RunStore } from "../run-state/index.js";
import type { SeedTeamMemberWriteSurface } from "./types.js";
export type SeedTeamLaunchLedgerStatus = "requested" | "queued" | "completed" | "failed";
export type SeedTeamLaunchLedgerEntry = {
    schema_version: 1;
    launch_id: string;
    timestamp: string;
    run_id: string;
    team_id: string;
    role_id: string;
    role_label: string;
    capability_profile: string;
    status: SeedTeamLaunchLedgerStatus;
    target_agent: string;
    opencode_agent: string;
    parent_session_id?: string;
    child_session_id?: string;
    background_id?: string;
    agent_call_id?: string;
    prompt_ref?: string;
    prompt_preview?: string;
    stable_context_ref?: string;
    stable_context_hash?: string;
    context_refs: string[];
    allowed_tools: string[];
    denied_tools: string[];
    read_paths: string[];
    write_paths: string[];
    lease_requirements: string[];
    write_surface: SeedTeamMemberWriteSurface;
    native_tools: string[];
    model_route?: Record<string, unknown>;
    model_attempts?: AgentModelAttempt[];
    error?: string;
};
export type SeedTeamLaunchLedgerInput = Omit<SeedTeamLaunchLedgerEntry, "schema_version" | "launch_id" | "timestamp">;
export declare function teamLaunchLedgerPath(store: RunStore, runId: string): string;
export declare function createTeamLaunchId(): string;
export declare function appendTeamLaunchLedgerEntry(store: RunStore, runId: string, input: SeedTeamLaunchLedgerInput & {
    launch_id?: string;
    timestamp?: string;
}): Promise<SeedTeamLaunchLedgerEntry>;
export declare function readTeamLaunchLedger(store: RunStore, runId: string): Promise<SeedTeamLaunchLedgerEntry[]>;
