/** * @license * Copyright 2022-2024 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ /** * The maximum MDNS message size to usually fit into one UDP network MTU packet. Data are split into multiple messages * when needed. */ export declare const MAX_MDNS_MESSAGE_SIZE = 1232; export declare const PtrRecord: (name: string, ptr: string, ttl?: number, flushCache?: boolean) => DnsRecord; export declare const ARecord: (name: string, ip: string, ttl?: number, flushCache?: boolean) => DnsRecord; export declare const AAAARecord: (name: string, ip: string, ttl?: number, flushCache?: boolean) => DnsRecord; export declare const TxtRecord: (name: string, entries: string[], ttl?: number, flushCache?: boolean) => DnsRecord; export declare const SrvRecord: (name: string, srv: SrvRecordValue, ttl?: number, flushCache?: boolean) => DnsRecord; export type SrvRecordValue = { priority: number; weight: number; port: number; target: string; }; export type DnsQuery = { name: string; recordType: DnsRecordType; recordClass: DnsRecordClass; uniCastResponse?: boolean; }; export type DnsRecord = { name: string; recordType: DnsRecordType; recordClass: DnsRecordClass; flushCache?: boolean; ttl: number; value: T; }; export type DnsMessage = { transactionId: number; messageType: DnsMessageType; queries: DnsQuery[]; answers: DnsRecord[]; authorities: DnsRecord[]; additionalRecords: DnsRecord[]; }; export type DnsMessagePartiallyPreEncoded = Omit & { answers: (DnsRecord | Uint8Array)[]; additionalRecords: (DnsRecord | Uint8Array)[]; }; export declare enum DnsMessageType { Query = 0, TruncatedQuery = 512, Response = 33792,// Authoritative Answer TruncatedResponse = 34304 } export declare enum DnsRecordType { A = 1, PTR = 12, TXT = 16, AAAA = 28, SRV = 33, NSEC = 47, ANY = 255 } export declare enum DnsRecordClass { IN = 1, ANY = 255 } export declare class DnsCodec { static decode(message: Uint8Array): DnsMessage | undefined; private static decodeQuery; private static decodeRecord; private static decodeQName; private static decodeRecordValue; private static decodeSrvRecord; private static decodeTxtRecord; private static decodeAaaaRecord; private static decodeARecord; static encode({ messageType, transactionId, queries, answers, authorities, additionalRecords, }: Partial): Uint8Array; static encodeRecord(record: DnsRecord): Uint8Array; private static encodeRecordValue; private static encodeARecord; private static encodeAaaaRecord; private static encodeTxtRecord; private static encodeSrvRecord; private static encodeQName; } //# sourceMappingURL=DnsCodec.d.ts.map