import { DomainKey } from './domain-key'; export declare type DXNString = string; /** * Decentralized Name. * Example: dxn://example:foo/bar */ export declare class DXN { readonly authority: DomainKey | string; readonly path: string; readonly tag?: string | undefined; static parse(name: string): DXN; static fromDomainKey(domainKey: DomainKey, path: string, tag?: string): DXN; static fromDomainName(domainName: string, path: string, tag?: string): DXN; static urlencode(dxn: DXN): string; static urldecode(encodedDxn: string): DXN; private constructor(); /** * Create new DXN overriding specified fields. */ with({ authority, path, tag }: { authority?: DomainKey | string; path?: string; tag?: string | null; }): DXN; toString(): string; private static normalize; /** * Lower-case. * Starts with a letter. * Min 3 and max 32 characters. * Must not have multiple hyphens in a row or end with a hyphen. * @param domain */ private static validateDomainName; /** * Validates DXN path. * Change to lower-case. * Starts with a letter. * Min 3 and max 64 characters. * Must not have multiple periods in a row or end with a period or hyphen. * @param path */ private static validatePath; /** * Validates DXN tag. * @param tag */ private static validateTag; } //# sourceMappingURL=dxn.d.ts.map