/// import { RemoteInfo } from 'dgram'; import { Header } from './header'; import { MappedAddressPayload } from './attribute/mapped-address'; import { UsernamePayload } from './attribute/username'; import { MessageIntegrityPayload } from './attribute/message-integrity'; import { FingerprintPayload } from './attribute/fingerpinrt'; import { XorMappedAddressPayload } from './attribute/xor-mapped-address'; import { SoftwarePayload } from './attribute/software'; interface ValidationTarget { transactionId?: string; integrityKey?: string; fingerprint?: boolean; } export declare class StunMessage { private header; private attributes; constructor(header: Header); createBindingResponse(isSuccess: boolean): StunMessage; isBindingRequest(vt?: ValidationTarget): boolean; isBindingResponseSuccess(vt?: ValidationTarget): boolean; setMappedAddressAttribute(rinfo: RemoteInfo): StunMessage; getMappedAddressAttribute(): MappedAddressPayload | null; setUsernameAttribute(name: string): StunMessage; getUsernameAttribute(): UsernamePayload | null; setMessageIntegrityAttribute(integrityKey: string): StunMessage; getMessageIntegrityAttribute(): MessageIntegrityPayload | null; setFingerprintAttribute(): StunMessage; getFingerprintAttribute(): FingerprintPayload | null; setXorMappedAddressAttribute(rinfo: RemoteInfo): StunMessage; getXorMappedAddressAttribute(): XorMappedAddressPayload | null; setSoftwareAttribute(name: string): StunMessage; getSoftwareAttribute(): SoftwarePayload | null; toBuffer(): Buffer; loadBuffer($buffer: Buffer): boolean; private validateMessageIntegrity; private validateFingerprint; private getPayloadByType; private getBlankAttributeByType; } export {};