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