import type { Address } from '@solana/kit'; export interface LeaderInfo { readonly identity: Address; readonly tpuQuicAddr: string | null; readonly stake?: bigint; } export interface RouteSnapshot { readonly asOfSlot: bigint; readonly leaders: readonly LeaderInfo[]; readonly generation: number; } export declare function makeSnapshot(asOfSlot: bigint, leaders: readonly LeaderInfo[], generation: number): RouteSnapshot; /** Single-writer / multi-reader atomic reference. JS single-threaded runtime = pointer store is atomic. */ export declare class AtomicSnapshotRef { #private; constructor(initial: RouteSnapshot); load(): RouteSnapshot; store(next: RouteSnapshot): void; } export declare const EMPTY_SNAPSHOT: RouteSnapshot; //# sourceMappingURL=route-snapshot.d.ts.map