import { Tracer } from "@opentelemetry/api";
export interface IInitTracer {
    serviceName: string;
    exporterUrl: string;
    globalAttributes: IInitAttributes;
}
export interface IInitAttributes {
    [key: string]: string;
}
export type IAttributes = Record<string, any>;
export interface IEvents {
    name: string;
    keyValue: IAttributes;
}
export interface ICreateSpan {
    tracer: Tracer;
    name: string;
    func?: Function;
    attributes?: IAttributes | null;
    events?: IEvents | null;
}
export interface OpenTelemetryConfig {
    serviceName: string;
    exporterUrl: string;
    attributes?: Record<string, any>;
}
export interface CreateSpanOptions {
    tracer: Tracer;
    name: string;
    func?: () => void;
    attributes?: Record<string, any>;
    events?: {
        name: string;
        keyValue: Record<string, any>;
    };
}
