import { S as Span, T as Trace, a as SpanType, O as OpikClient } from './Client-CgkZJ_1L.cjs';
export { b as OpikConfig } from './Client-CgkZJ_1L.cjs';
import { Logger } from 'tslog';
import 'stream';

type TrackContext = {
    span?: Span;
    trace?: Trace;
} | {
    span: Span;
    trace: Trace;
};
declare const getTrackContext: () => Required<TrackContext> | undefined;
type TrackOptions = {
    name?: string;
    projectName?: string;
    type?: SpanType;
};
type OriginalFunction = (...args: any[]) => any;
declare function track(optionsOrOriginalFunction: TrackOptions | OriginalFunction, originalFunction?: OriginalFunction): OriginalFunction;
declare const trackOpikClient: OpikClient;

declare const generateId: () => string;

declare const flushAll: () => Promise<void>;

declare const logLevels: {
    readonly SILLY: 0;
    readonly TRACE: 1;
    readonly DEBUG: 2;
    readonly INFO: 3;
    readonly WARN: 4;
    readonly ERROR: 5;
    readonly FATAL: 6;
};
declare const logger: Logger<unknown>;
declare const setLoggerLevel: (level: keyof typeof logLevels) => void;
declare const disableLogger: () => void;

export { OpikClient as Opik, Span, Trace, disableLogger, flushAll, generateId, getTrackContext, logger, setLoggerLevel, track, trackOpikClient };
