/// import { AttrStream } from '../structs'; import { MessageType } from './gen_structs'; import * as rt from './gen_structs'; import * as ifla from './ifla'; export declare type Message = AddressMessage | LinkMessage | NdUserOptionMessage | NeighborMessage | NeighborTableMessage | PrefixMessage | RouteMessage | RuleMessage | NextHopMessage | TcMessage | TcActionMessage; export interface AddressMessage { kind: 'address'; data: rt.Address; attrs: rt.AddressAttrs; } export declare function parseAddressMessage(r: Buffer): AddressMessage; export declare function formatAddressMessage(x: AddressMessage, out: AttrStream): void; export interface LinkMessage { kind: 'link'; data: rt.Link; attrs: ifla.LinkAttrs; } export declare function parseLinkMessage(r: Buffer): LinkMessage; export declare function formatLinkMessage(x: LinkMessage, out: AttrStream): void; export interface NdUserOptionMessage { kind: 'ndUserOption'; data: rt.NdUserOption; attrs: rt.NdUserOptionAttrs; } export declare function parseNdUserOptionMessage(r: Buffer): NdUserOptionMessage; export declare function formatNdUserOptionMessage(x: NdUserOptionMessage, out: AttrStream): void; export interface NeighborMessage { kind: 'neighbor'; data: rt.Neighbor; attrs: rt.NeighborAttrs; } export declare function parseNeighborMessage(r: Buffer): NeighborMessage; export declare function formatNeighborMessage(x: NeighborMessage, out: AttrStream): void; export interface NeighborTableMessage { kind: 'neighborTable'; data: rt.NeighborTable; attrs: rt.NeighborTableAttrs; } export declare function parseNeighborTableMessage(r: Buffer): NeighborTableMessage; export declare function formatNeighborTableMessage(x: NeighborTableMessage, out: AttrStream): void; export interface PrefixMessage { kind: 'prefix'; data: rt.Prefix; attrs: rt.PrefixAttrs; } export declare function parsePrefixMessage(r: Buffer): PrefixMessage; export declare function formatPrefixMessage(x: PrefixMessage, out: AttrStream): void; export interface RouteMessage { kind: 'route'; data: rt.Route; attrs: rt.RouteAttrs; } export declare function parseRouteMessage(r: Buffer): RouteMessage; export declare function formatRouteMessage(x: RouteMessage, out: AttrStream): void; export interface RuleMessage { kind: 'rule'; data: rt.Rule; attrs: rt.RuleAttrs; } export declare function parseRuleMessage(r: Buffer): RuleMessage; export declare function formatRuleMessage(x: RuleMessage, out: AttrStream): void; export interface NextHopMessage { kind: 'nexthop'; data: rt.NextHop; attrs: rt.NextHopAttrs; } export declare function parseNextHopMessage(r: Buffer): NextHopMessage; export declare function formatNextHopMessage(x: NextHopMessage, out: AttrStream): void; export interface TcMessage { kind: 'tc'; data: rt.Tc; attrs: rt.TcAttrs; } export declare function parseTcMessage(r: Buffer): TcMessage; export declare function formatTcMessage(x: TcMessage, out: AttrStream): void; export interface TcActionMessage { kind: 'tcAction'; data: rt.TcAction; } export declare function parseTcActionMessage(r: Buffer): TcActionMessage; export declare function formatTcActionMessage(x: TcActionMessage, out: AttrStream): void; export declare function parseMessage(t: MessageType, r: Buffer): Message; export * from './gen_structs';