//#region src/processors/utils/SignalBuffer.d.ts
interface SignalEntry {
  readonly kind: 'span' | 'log';
  readonly id: string;
  readonly startTime: number;
  readonly type?: string;
}
interface SignalBufferArgs {
  maxAgeMillis?: number;
  maxEntries?: number;
}
interface SignalWindowResult {
  spanIds: string[];
  spanTypes: string[];
  logIds: string[];
  logTypes: string[];
}
/**
 * A bounded, in-memory rolling buffer of span and log signals. Used to back-fill
 * a span with the ids of signals that started within its window, since that
 * span is built after its window has already closed.
 */
declare class SignalBuffer {
  private readonly _maxAgeMillis;
  private readonly _maxEntries;
  private readonly _entries;
  private _latestStartTime;
  constructor({ maxAgeMillis, maxEntries }?: SignalBufferArgs);
  record(entry: SignalEntry): void;
  collectWindow(startTime: number, endTime: number): SignalWindowResult;
  private _evict;
}
//#endregion
export { SignalBuffer, SignalBufferArgs, SignalEntry, SignalWindowResult };
//# sourceMappingURL=SignalBuffer.d.ts.map