/** * NetBox API Client */ import type { NetBoxCableResponse, NetBoxClientOptions, NetBoxDeviceResponse, NetBoxInterfaceResponse, NetBoxIPAddressResponse, NetBoxLocationResponse, NetBoxPrefixResponse, NetBoxSiteResponse, NetBoxVirtualMachineResponse, NetBoxVMInterfaceResponse } from './types.js'; /** * Query parameters for filtering API requests */ export interface QueryParams { site?: string; site_id?: number; location?: string; location_id?: number; role?: string; status?: string; tag?: string; manufacturer?: string; device_type?: string; q?: string; } export declare class NetBoxClient { private baseUrl; private token; private timeout; private debug; constructor(options: NetBoxClientOptions); /** * Log debug information */ private log; /** * Create client from environment variables */ static fromEnv(): NetBoxClient; /** * Build query string from parameters */ private buildQueryString; /** * Make GET request to NetBox DCIM API */ private getDcim; /** * Make GET request to NetBox Virtualization API */ private getVirtualization; /** * Make GET request to NetBox IPAM API */ private getIpam; /** * Make GET request to NetBox API */ private get; /** * Fetch devices with optional filtering */ fetchDevices(params?: QueryParams): Promise; /** * Fetch interfaces with optional filtering */ fetchInterfaces(params?: QueryParams): Promise; /** * Fetch cables */ fetchCables(): Promise; /** * Fetch sites with optional filtering */ fetchSites(params?: QueryParams): Promise; /** * Fetch locations with optional filtering */ fetchLocations(params?: QueryParams): Promise; /** * Fetch virtual machines with optional filtering */ fetchVirtualMachines(params?: QueryParams): Promise; /** * Fetch VM interfaces with optional filtering */ fetchVMInterfaces(params?: QueryParams): Promise; /** * Fetch IP prefixes with optional filtering */ fetchPrefixes(params?: QueryParams): Promise; /** * Fetch IP addresses with optional filtering */ fetchIPAddresses(params?: QueryParams): Promise; /** * Fetch all data needed for topology generation */ fetchAll(): Promise<{ devices: NetBoxDeviceResponse; interfaces: NetBoxInterfaceResponse; cables: NetBoxCableResponse; }>; /** * Fetch all data including virtual machines */ fetchAllWithVMs(): Promise<{ devices: NetBoxDeviceResponse; interfaces: NetBoxInterfaceResponse; cables: NetBoxCableResponse; virtualMachines: NetBoxVirtualMachineResponse; vmInterfaces: NetBoxVMInterfaceResponse; }>; } //# sourceMappingURL=client.d.ts.map