import { APIResource } from "../../../../core/resource.mjs"; import { PagePromise, V4PagePagination, type V4PagePaginationParams } from "../../../../core/pagination.mjs"; import { RequestOptions } from "../../../../internal/request-options.mjs"; export declare class BaseISPs extends APIResource { static readonly _key: readonly ['zeroTrust', 'dex', 'devices', 'isps']; /** * List ISP information observed for a specific device during traceroute tests. * * @example * ```ts * // Automatically fetches more pages as needed. * for await (const isps of client.zeroTrust.dex.devices.isps.list( * 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', * { * account_id: '01a7362d577a6c3019a474fd6f485823', * per_page: 10, * }, * )) { * // ... * } * ``` */ list(deviceID: string, params: ISPListParams, options?: RequestOptions): PagePromise; } export declare class ISPs extends BaseISPs { } export type ISPsV4PagePagination = V4PagePagination; export interface ISPs { isps: Array; } export declare namespace ISPs { interface ISP { /** * The test that generated this result. */ test_id: string; /** * The specific test result. */ test_result_id: string; /** * Timestamp of when the ISP was observed. */ time_start: string; /** * IP address information for the ISP hop. Fields marked as PII-gated (`name`, * `address`, `netmask`, and all `location` sub-fields) will be returned as the * literal string `"REDACTED"` for callers that do not have the PII permission. * `asn`, `aso`, and `version` are always returned regardless of PII access. */ ip?: ISP.IP; } namespace ISP { /** * IP address information for the ISP hop. Fields marked as PII-gated (`name`, * `address`, `netmask`, and all `location` sub-fields) will be returned as the * literal string `"REDACTED"` for callers that do not have the PII permission. * `asn`, `aso`, and `version` are always returned regardless of PII access. */ interface IP { /** * IP address. Returned as `"REDACTED"` without PII permission. */ address?: string; /** * Autonomous System Number. */ asn?: number; /** * Autonomous System Organization name. */ aso?: string; /** * Geographic location information. All fields are returned as the literal string * `"REDACTED"` for callers that do not have the PII permission. */ location?: IP.Location; /** * Named IP address (reverse DNS hostname when available). Returned as `"REDACTED"` * without PII permission. */ name?: string; /** * Network mask. Returned as `"REDACTED"` without PII permission. */ netmask?: string; /** * IP version (`1` for IPv4, `2` for IPv6, `0` if unknown). */ version?: number; } namespace IP { /** * Geographic location information. All fields are returned as the literal string * `"REDACTED"` for callers that do not have the PII permission. */ interface Location { /** * City name. Returned as `"REDACTED"` without PII permission. */ city?: string; /** * Country ISO code. Returned as `"REDACTED"` without PII permission. */ country_iso?: string; /** * State/province ISO code. Returned as `"REDACTED"` without PII permission. */ state_iso?: string; /** * ZIP/postal code. Returned as `"REDACTED"` without PII permission. */ zip?: string; } } } } export interface ISPListParams extends V4PagePaginationParams { /** * Path param: Unique identifier linked to an account. */ account_id: string; /** * Query param: Cursor for cursor-based pagination. Mutually exclusive with page. */ cursor?: string; /** * Query param: Start time for the query in ISO 8601 format. */ from?: string; /** * Query param: The field to sort results by. */ sort_by?: 'time_start'; /** * Query param: The order to sort results. */ sort_order?: 'ASC' | 'DESC'; /** * Query param: End time for the query in ISO 8601 format. */ to?: string; } export declare namespace ISPs { export { type ISPs as ISPs, type ISPsV4PagePagination as ISPsV4PagePagination, type ISPListParams as ISPListParams, }; } //# sourceMappingURL=isps.d.mts.map