import { AnalyticsQueryOptions } from './analyticstypes';
import { CppDocumentId, CppDurabilityLevel, HiResTime } from './binding';
import { AttributeValue, HttpOpType, KeyValueOp, TimeInput } from './observabilitytypes';
import { QueryOptions } from './querytypes';
/**
 * @internal
 */
export type StreamingOptions = AnalyticsQueryOptions | QueryOptions;
/**
 * Generates an absolute Unix epoch time with nanosecond precision.
 * @internal
 */
export declare function getEpochHiResTime(): [number, number];
/**
 * @internal
 */
export declare function hiResTimeToMicros(hrTime: HiResTime): number;
/**
 * @internal
 */
export declare function getHiResTimeDelta(start: HiResTime, end: HiResTime): HiResTime;
/**
 * @internal
 */
export declare function millisToHiResTime(millis: number): HiResTime;
/**
 * @internal
 */
export declare function getLatestTime(timeA: HiResTime, timeB: HiResTime): HiResTime;
/**
 * @internal
 */
export declare function getCoreSpanEndTime(coreSpanEndTime: HiResTime): HiResTime;
/**
 * @internal
 */
export declare function timeInputToHiResTime(input?: TimeInput): HiResTime;
/**
 * @internal
 */
export declare function getAttributesForKeyValueOpType(opType: KeyValueOp, cppDocId: CppDocumentId, durability?: CppDurabilityLevel): {
    [key: string]: AttributeValue;
};
/**
 * @internal
 */
export interface HttpOpAttributesOptions {
    statement?: string;
    queryOptions?: StreamingOptions;
    queryContext?: string;
    bucketName?: string;
    scopeName?: string;
    collectionName?: string;
}
/**
 * @internal
 */
export declare function getAttributesForHttpOpType(opType: HttpOpType, options?: HttpOpAttributesOptions): {
    [key: string]: AttributeValue;
};
