import type { KaijiBotConfig } from "../config/config.js";
import type { AgentContextInjection } from "../config/types.agent-defaults.js";
import type { SoulPreset } from "../config/types.soul.js";
import type { EmbeddedContextFile } from "./pi-embedded-helpers.js";
import { type WorkspaceBootstrapFile } from "./workspace.js";
export type BootstrapContextMode = "full" | "lightweight";
export type BootstrapContextRunKind = "default" | "heartbeat" | "cron";
export declare const FULL_BOOTSTRAP_COMPLETED_CUSTOM_TYPE = "kaijibot:bootstrap-context:full";
export declare function resolveContextInjectionMode(config?: KaijiBotConfig): AgentContextInjection;
export declare function hasCompletedBootstrapTurn(sessionFile: string): Promise<boolean>;
export declare function makeBootstrapWarn(params: {
    sessionLabel: string;
    warn?: (message: string) => void;
}): ((message: string) => void) | undefined;
export declare function resolveSoulPreset(config?: KaijiBotConfig, agentId?: string, sessionKey?: string): SoulPreset | undefined;
export declare function resolveBootstrapFilesForRun(params: {
    workspaceDir: string;
    config?: KaijiBotConfig;
    sessionKey?: string;
    sessionId?: string;
    agentId?: string;
    warn?: (message: string) => void;
    contextMode?: BootstrapContextMode;
    runKind?: BootstrapContextRunKind;
}): Promise<WorkspaceBootstrapFile[]>;
export declare function resolveBootstrapContextForRun(params: {
    workspaceDir: string;
    config?: KaijiBotConfig;
    sessionKey?: string;
    sessionId?: string;
    agentId?: string;
    warn?: (message: string) => void;
    contextMode?: BootstrapContextMode;
    runKind?: BootstrapContextRunKind;
}): Promise<{
    bootstrapFiles: WorkspaceBootstrapFile[];
    contextFiles: EmbeddedContextFile[];
}>;
