import { APIResource } from "../../../../core/resource.js"; import { APIPromise } from "../../../../core/api-promise.js"; import { RequestOptions } from "../../../../internal/request-options.js"; export declare class BasePaths extends APIResource { static readonly _key: readonly ['radar', 'bgp', 'routes', 'paths']; /** * Retrieves the paths an AS uses to reach the tier-1 clique, derived from * RouteViews RIB snapshots. Each entry is an ordered AS-path segment (from the * queried AS toward a tier-1) with the number of observed paths and peers, and the * collectors that observed it. By default segments are merged across all active * collectors; pass "collector" to scope to one. The response also includes an * "asnInfo" map (keyed by ASN) with the name and country for every ASN in the * returned segments plus the queried ASN (best-effort; null when unavailable). * * @example * ```ts * const paths = await client.radar.bgp.routes.paths.list(174); * ``` */ list(asn: number, query?: PathListParams | null | undefined, options?: RequestOptions): APIPromise; } export declare class Paths extends BasePaths { } export interface PathListResponse { asnInfo: { [key: string]: PathListResponse.ASNInfo; } | null; collectors: Array; meta: PathListResponse.Meta; paths: Array; } export declare namespace PathListResponse { interface ASNInfo { /** * ASN number. */ asn: number; /** * Alpha-2 country code. */ country: string | null; /** * AS name. */ name: string | null; } interface Meta { /** * Timestamp of the underlying RIB data. */ dataTime: string | null; effectiveCollector: string | null; /** * Timestamp when the query was executed. */ queryTime: string | null; stale: boolean; } interface Path { collectors: Array; pathsCount: number; peersCount: number; segment: Array; } } export interface PathListParams { /** * Scope to a single RouteViews collector (e.g. "route-views3"). Omit to merge * across all active collectors (identical path segments are deduplicated, * observation counts summed, and every contributing collector listed). */ collector?: string; /** * Format in which results will be returned. */ format?: 'JSON' | 'CSV'; /** * Address family of the observed paths. Defaults to IPv4. */ ipVersion?: 'IPv4' | 'IPv6'; } export declare namespace Paths { export { type PathListResponse as PathListResponse, type PathListParams as PathListParams }; } //# sourceMappingURL=paths.d.ts.map