import type { TraceProcessorLeaseMode } from './traceProcessorLeaseStore';
export type TraceProcessorTraceSide = 'current' | 'reference';
export type TraceProcessorDatabaseIsolation = 'shared' | 'isolated';
export interface TraceProcessorDatabaseScope {
    traceId: string;
    traceSide?: TraceProcessorTraceSide;
    processorKey: string;
    isolation: TraceProcessorDatabaseIsolation;
    leaseId?: string;
    leaseMode?: TraceProcessorLeaseMode | string;
}
export interface TraceProcessorConnectionScope {
    connectionKey: string;
    database: TraceProcessorDatabaseScope;
}
export interface TraceProcessorQueryProvenance {
    traceSide?: TraceProcessorTraceSide;
    traceId: string;
    processorKey: string;
    databaseScope: TraceProcessorDatabaseScope;
    connectionScope: TraceProcessorConnectionScope;
}
export interface TraceProcessorConnectionInput {
    traceId: string;
    traceSide?: TraceProcessorTraceSide;
    leaseId?: string;
    leaseMode?: TraceProcessorLeaseMode | string;
}
export declare function traceProcessorProcessorKey(traceId: string, leaseId?: string, mode?: TraceProcessorLeaseMode | string): string;
export declare function buildTraceProcessorDatabaseScope(input: TraceProcessorConnectionInput): TraceProcessorDatabaseScope;
export declare function buildTraceProcessorQueryProvenance(input: TraceProcessorConnectionInput): TraceProcessorQueryProvenance;
//# sourceMappingURL=traceProcessorConnectionModel.d.ts.map