import { type SpanContext } from "@opentelemetry/api";
import { type SamplingResult } from "@opentelemetry/sdk-trace-base";
import { oboe } from "@solarwinds-apm/bindings";
import { type LocalSettings, type RequestHeaders, type SampleParams, SpanType, type TraceOptions, type TraceOptionsResponse } from "@solarwinds-apm/sampling";
import { type Configuration } from "../config.js";
import { Sampler } from "../sampling/sampler.js";
export declare class AppopticsSampler extends Sampler {
    constructor(config: Configuration);
    shouldSample(...params: SampleParams): SamplingResult;
    toString(): string;
    waitUntilReady(timeout: number): Promise<boolean>;
}
export declare function intoOboeDecisionOptions(parentSpanContext: SpanContext | undefined, type: SpanType, customSettings: LocalSettings, headers: RequestHeaders, traceOptions: TraceOptions | undefined): oboe.DecisionOptions;
export declare function fromOboeDecisionsResult(result: oboe.DecisionResult, traceOptions: TraceOptions | undefined): {
    samplingResult: SamplingResult;
    traceOptionsResponse: TraceOptionsResponse;
};
//# sourceMappingURL=sampler.d.ts.map