/** @perf use const enums */ export declare enum DirectiveKind { Origin = "$ORIGIN", TimeToLive = "$TTL" } export declare const SUPPORTED_RECORD_TYPES: readonly ["TXT", "NS", "A", "AAAA", "CNAME", "MX", "PTR", "SPF", "SRV", "CAA", "NAPTR"]; export declare const ALL_RECORD_TYPES: readonly ["SOA", "TXT", "NS", "A", "AAAA", "CNAME", "MX", "PTR", "SPF", "SRV", "CAA", "NAPTR"]; /** @private */ export declare const INSTRUCTION_TYPES: readonly ["TXT", "NS", "A", "AAAA", "CNAME", "MX", "PTR", "SPF", "SRV", "CAA", "NAPTR", "$TTL", "$ORIGIN"]; export declare type RecordType = typeof SUPPORTED_RECORD_TYPES[number]; export declare type InstructionType = typeof INSTRUCTION_TYPES[number]; /** @perf const enum */ export declare enum RecordMinLengthKind { /** * treemonkey1.ca. 3W IN TXT "v=DKIM1\; k=rsa\; p=MIGf..." * TXT "eh=true" */ TXT = 1, /** * www 1h IN CNAME \\008\\99.igloo.com. * CNAME igloo.igloo.com. */ CNAME = 1, /** * eh 1w A 127.0.0.1 * eh A 127.0.0.1 * A 127.0.0.1 */ A = 1, /** * eh 3W AAAA ::1 * @ AAAA ::1 */ AAAA = 1, /** * @ 1W NS ns.igloo.com. * @ NS NS2.NAMESERVER.NET. * 1W NS ns.igloo.com. */ NS = 1, /** * 1 3W PTR HOST1.igloo.com. * 10.3 PTR HOST3.igloo.com. * @ PTR HOST3.igloo.com. * PTR HOST3.igloo.com. */ PTR = 1, /** * igloo.com. MX 10 mail.igloo.com. * MX 10 mail.igloo.com. */ MX = 2, /** * test1 3w IN SPF "v=spf2" "mx:gcloud-node.com." "-all" * SPF "v=spf3" "mx:gcloud-node.com." "-all " * SPF "v=spf4" "mx:gcloud-node.com." "-all" * SPF "v=spf4 mx:gcloud-node.com." */ SPF = 1, /** * igloo.com 3W CAA 0 iodef "mailto:security@igloo.com" * CAA 0 iodef "mailto:security@igloo.com" */ CAA = 3, /** * _foobar._tcp SRV 0 1 9 old-slow-box.igloo.com. * _foobar._tcp 1W SRV 0 1 9 old-slow-box.igloo.com. */ SRV = 4, /** * rfc3403-1 86400 IN NAPTR 100 10 "u" "sip+E2U" "!^.*$!sip:information@foo.se!i" . * 69 42 "u" "sip" ".*" . */ NAPTR = 6, /** * or 6 | 7... */ SOA = 7 } /** @perf const enum */ export declare enum RecordMaxLengthKind { /** * @example SPF v=spf1 ip:4:192.168.0.1/16-all * @example SPF v=spf1 ip4:192.0.2.0/24 ip4:198.51.100.123 a -all */ SPF = Infinity, SOA = Infinity, TXT = 1, CNAME = 1, A = 1, AAAA = 1, NS = 1, PTR = 1, MX = 2, CAA = 3, SRV = 4, NAPTR = 6 } /** @perf use numbers here in production & const enum */ export declare enum ErrorKeyKind { /** api error, unused */ Api = "API", /** nothing in the input */ EmptyInput = "EMPTY", /** nothing to create */ NoRecords = "NO_RECORDS_TO_CREATE", /** we have records, but none are valid */ NoValidRecords = "NO_VALID_RECORDS_TO_CREATE", /** not standard */ BadDirective = "BAD_DIRECTIVE", /** exists either in already created records or twice here */ Duplicated = "DUPLICATED", /** unknown */ Unknown = "UNKNOWN", /** fallback case */ Missing = "", /** Invalid ttl format */ TtlInvalidFormat = "TTL_INVALID_FORMAT", /** Value too large */ TtlOverflow = "TTL_OVERFLOW", /** Invalid format & missing default value as a number */ TtlMissingDefault = "TTL_INVALID_FORMAT_MISSING_DEFAULT", /** wrong number of args for this instruction */ WrongLength = "WRONG_LENGTH", /** format of an instruction is wrong */ WrongNameArgsLength = "EXTRA_NAME_TTL_ARGS" } export declare const ERROR_KEYS: readonly [ErrorKeyKind.Api, ErrorKeyKind.EmptyInput, ErrorKeyKind.NoRecords, ErrorKeyKind.NoValidRecords, ErrorKeyKind.BadDirective, ErrorKeyKind.TtlInvalidFormat, ErrorKeyKind.TtlOverflow, ErrorKeyKind.TtlMissingDefault, ErrorKeyKind.WrongLength, ErrorKeyKind.WrongNameArgsLength, ErrorKeyKind.Duplicated, ErrorKeyKind.Unknown]; /** @idea move `warnings` to `errors` and make => `problems` + `severity` */ export declare enum WarningKeyKind { NsIgnored = "SOA_IGNORED", SoaIgnored = "NS_IGNORED" } export declare type TtlErrorKeyType = ErrorKeyKind.TtlInvalidFormat | ErrorKeyKind.TtlMissingDefault | ErrorKeyKind.TtlOverflow; //# sourceMappingURL=constants_domain_specific.d.ts.map