/// <reference types="node" />
import { IncomingHttpHeaders } from 'http';
import { Highlight } from './client';
import { ResourceAttributes } from '@opentelemetry/resources';
import type { NodeOptions, HighlightContext } from './types.js';
import type { Attributes, Span as OtelSpan, SpanOptions } from '@opentelemetry/api';
export declare const HIGHLIGHT_REQUEST_HEADER = "x-highlight-request";
export interface HighlightInterface {
    init: (options: NodeOptions) => Highlight;
    stop: () => Promise<void>;
    isInitialized: () => boolean;
    parseHeaders: (headers: Headers | IncomingHttpHeaders) => HighlightContext;
    runWithHeaders: <T>(headers: Headers | IncomingHttpHeaders, cb: () => T | Promise<T>) => Promise<T>;
    consumeError: (error: Error, secureSessionId?: string, requestId?: string, metadata?: Attributes) => void;
    recordMetric: (secureSessionId: string, name: string, value: number, requestId?: string, tags?: {
        name: string;
        value: string;
    }[]) => void;
    flush: () => Promise<void>;
    log: (message: any, level: string, secureSessionId?: string | undefined, requestId?: string | undefined, metadata?: Attributes) => void;
    consumeAndFlush: (error: Error, secureSessionId?: string, requestId?: string, metadata?: Attributes) => Promise<void>;
    setAttributes: (attributes: ResourceAttributes) => void;
    startActiveSpan: (name: string, options: SpanOptions) => Promise<OtelSpan>;
    _debug: (...data: any[]) => void;
}
export declare const H: HighlightInterface;
//# sourceMappingURL=sdk.d.ts.map