import { Resource } from '@opentelemetry/resources'; import { SnapshotSpanProcessor } from './SnapshotSpanProcessor'; import type { CpuProfile, ProfilingExtension } from '../../profiling/types'; import { OtlpHttpProfilingExporter } from '../../profiling/OtlpHttpProfilingExporter'; export interface StartSnapshotProfilingOptions { serviceName: string; endpoint: string; resource: Resource; samplingIntervalMs?: number; collectionIntervalMs?: number; active?: boolean; } type SnapshotProfilingOptions = Required; export declare class SnapshotProfiler { processor: SnapshotSpanProcessor; extension: ProfilingExtension; profilerHandle: number; activeSnapshots: number; active: boolean; collectionLoop: NodeJS.Timeout; stopTimeout: NodeJS.Timeout | undefined; exporter: OtlpHttpProfilingExporter | undefined; private _samplingIntervalMs; private _endpoint; private _resource; constructor(options: SnapshotProfilingOptions); _export(profile: CpuProfile | null): Promise; stop(): Promise; setActive(active: boolean): void; setSamplingInterval(samplingIntervalMs: number): void; } export declare function startSnapshotProfiling(options: StartSnapshotProfilingOptions): void; export declare function setSnapshotProfilingActive(active: boolean, samplingIntervalMs?: number): boolean; export declare function stopSnapshotProfiling(): Promise; export declare function isSnapshotProfilingEnabled(): boolean; export declare function isSnapshotProfilingActive(): boolean; export declare function snapshotSpanProcessor(): SnapshotSpanProcessor | undefined; export declare function snapshotProfiler(): SnapshotProfiler | undefined; export {}; //# sourceMappingURL=Snapshots.d.ts.map