export interface NetworkInfo { network: string; prefixLength: number; interface: string; ip: string; } export interface InterfaceInfo { name: string; adminStatus: string; operStatus: string; type?: string; ipv4Addresses: Array<{ ip: string; prefixLength: number; network: string; }>; statistics?: { rxPackets: number; txPackets: number; rxBytes: number; txBytes: number; }; } export interface PrefixListRule { sequence: number; action: "permit" | "deny"; prefix: string; leLen?: number; geLen?: number; } export interface AclRule { sequence: number; action: "permit" | "deny" | "reflect"; description?: string; ipVersion?: "ipv4" | "ipv6"; protocol?: string; srcIpPrefix?: string; dstIpPrefix?: string; srcFirstPort?: number; srcLastPort?: number; dstFirstPort?: number; dstLastPort?: number; tcpFlagsMask?: number; tcpFlagsValue?: number; icmpFirstType?: number; icmpLastType?: number; icmpFirstCode?: number; icmpLastCode?: number; } export interface AclList { name: string; rules: AclRule[]; } export interface BgpShowInput { request: "config" | "neighbors" | "network" | "nexthop" | "peer-group" | "summary"; param?: "advertised-routes" | "dampened-routes" | "detail" | "flap-statistics" | "graceful-restart" | "prefix-filter" | "received" | "received-routes" | "routes"; peer?: string; family?: "ipv4" | "ipv6"; net?: string; param2?: "prefix-filter"; vrfId?: string; } export interface PrefixListInfo { name: string; rules: PrefixListRule[]; } export interface PbrRouteInfo { name: string; ruleCount: number; rules: PrefixListRule[]; } export interface RouteMapRule { sequence: number; policy: string; match?: { "ip-address-prefix-list"?: string; }; set?: { ip?: { "next-hop": string; }; }; } export interface RouteTableInfo { routeTableName: string; totalRoutes: number; routes: Array<{ destinationPrefix: string; hasDrop: boolean; firstHop: string | null; hops: any[]; }>; } export interface RouteMapInfo { name: string; description?: string; rules: RouteMapRule[]; } export interface InterfaceTrafficStats { interfaceName: string; adminStatus: string; operStatus: string; type: string; lastChange?: string; statistics: { rxPackets: { unicast: number; multicast: number; broadcast: number; total: number; errors: number; discards: number; }; txPackets: { unicast: number; multicast: number; broadcast: number; total: number; errors: number; discards: number; }; bytes: { rxBytes: number; txBytes: number; totalBytes: number; }; rates: { rxBytesPerSec: number; txBytesPerSec: number; rxPacketsPerSec: number; txPacketsPerSec: number; }; }; timestamp: string; } export interface ApiResponse { success: boolean; data?: T; error?: string; message?: string; metadata?: any; } export declare class TNSRClient { private api; private baseUrl; constructor(baseUrl: string, username: string, password: string); testConnection(): Promise>; listInterfaces(): Promise>; private parseInterfaceList; listNetworks(): Promise>; addPbrRoute(ip: string, nextHop: string, policyName: string, sequence: number): Promise>; removePbrRoute(policyName: string): Promise>; listPbrRoutes(): Promise>; addRoute(route: string, nextHop: string, routeTableName?: string): Promise>; removeRoute(route: string, routeTableName?: string): Promise>; addBlackholeRoute(ip: string, routeTableName?: string): Promise>; removeBlackholeRoute(ip: string, routeTableName?: string): Promise>; createRouteMap(routeMapName: string, prefixListName: string, nextHop: string, sequence?: number, description?: string): Promise>; removeRouteMap(routeMapName: string): Promise>; listBlackholeRoutes(routeTableName?: string): Promise>; listRouteTable(routeTableName?: string): Promise>; getPrefixLists(): Promise>; getPrefixList(name: string): Promise>; createPrefixList(name: string, rules: PrefixListRule[]): Promise>; deletePrefixList(name: string): Promise>; getAclLists(): Promise>; getAclList(name: string): Promise>; createAclList(name: string, rules: AclRule[]): Promise>; deleteAclList(name: string): Promise>; private mapAclRuleFromApi; private mapAclRuleToApi; bgpShow(input: BgpShowInput): Promise>; listRouteMaps(): Promise>; getTrafficStatistics(): Promise>; private parseInterfaceData; getInterfaceTrafficStats(interfaceName: string): Promise>; } //# sourceMappingURL=client.d.ts.map