import type { Context } from '@opentelemetry/api';
import type { ReadableSpan, Span, SpanProcessor } from '@opentelemetry/sdk-trace-base';
export interface SessionLogSpanProcessorOptions {
    runId: string;
    shadowLogPath: string;
    sanitizedTask: string;
    workflowName: string;
}
export declare class SessionLogSpanProcessor implements SpanProcessor {
    private readonly registrations;
    private readonly pendingJudgeStages;
    constructor(options?: SessionLogSpanProcessorOptions);
    register(options: SessionLogSpanProcessorOptions): () => void;
    onStart(span: Span, _parentContext: Context): void;
    onEnd(span: ReadableSpan): void;
    private phaseBufferKey;
    private optionsForSpan;
    private safeAppend;
    forceFlush(): Promise<void>;
    shutdown(): Promise<void>;
}
//# sourceMappingURL=sessionLogSpanProcessor.d.ts.map