import type { AcpMiddleware } from "../../agent-spawn/dist/index.js";
import { type ExperimentCallbackFields } from "./adapters/experiment.js";
import { type PipelineCallbackFields } from "./adapters/pipeline.js";
import { type LoopCallbacks } from "./adapters/superintendent.js";
import { type TraceSurface } from "./trace-run.js";
export interface BraintrustOptions {
    enabled?: boolean;
    apiKey?: string;
    apiUrl?: string;
    project?: string;
}
export interface Integrations {
    spawnMiddleware?: AcpMiddleware;
    pipelineCallbacks?: PipelineCallbackFields;
    experimentCallbacks?: ExperimentCallbackFields;
    superintendentCallbacks?: LoopCallbacks;
    status(): {
        lastError: string | null;
        errorCount: number;
        project: string;
    };
    traceRun<T>(surface: TraceSurface, name: string, fn: () => Promise<T>): Promise<T>;
    shutdown(): Promise<void>;
}
export declare function bootstrap(options: BraintrustOptions | undefined): Integrations | null;
export { loadIntegrations } from "./load-integrations.js";
