import { APIResource } from "../../../../core/resource.js";
import { APIPromise } from "../../../../core/api-promise.js";
import { RequestOptions } from "../../../../internal/request-options.js";
export declare class BaseTop extends APIResource {
    static readonly _key: readonly ['radar', 'bgp', 'ips', 'top'];
    /**
     * Returns the top-N autonomous systems by announced IP space at the nearest 8-hour
     * RIB boundary at or before the requested date. The snapped boundary is returned
     * as `anchor_ts`.
     *
     * @example
     * ```ts
     * const response = await client.radar.bgp.ips.top.ases();
     * ```
     */
    ases(query?: TopAsesParams | null | undefined, options?: RequestOptions): APIPromise<TopAsesResponse>;
}
export declare class Top extends BaseTop {
}
export interface TopAsesResponse {
    anchorTs: string;
    asns: Array<TopAsesResponse.ASN>;
    country: string | null;
    metric: string;
}
export declare namespace TopAsesResponse {
    interface ASN {
        asn: number;
        v4_24s: number;
        v6_48s: number;
    }
}
export interface TopAsesParams {
    /**
     * Optional ISO 3166-1 alpha-2 country filter. Omit for global top-N.
     */
    country?: string;
    /**
     * Filters results by the specified datetime (ISO 8601).
     */
    date?: string;
    /**
     * Format in which results will be returned.
     */
    format?: 'JSON' | 'CSV';
    /**
     * Limits the number of objects returned in the response.
     */
    limit?: number;
    /**
     * Ranking metric: IPv4 /24 count or IPv6 /48 count.
     */
    metric?: 'v4_24s' | 'v6_48s';
}
export declare namespace Top {
    export { type TopAsesResponse as TopAsesResponse, type TopAsesParams as TopAsesParams };
}
//# sourceMappingURL=top.d.ts.map