import { z } from 'zod'; import { stringOrDid, stringOrDidUrl } from './schemas'; export declare const PREFIX_PATH = "/"; export declare const PREFIX_QUERY = "?"; export declare const PREFIX_FRAGMENT = "#"; export type DidParts = { scheme: string; method: string; namespaces?: Array; identifier: string; }; export type DidUrlParts = { path?: string; query?: Record; fragment?: string; parameters?: Record; }; export declare class Did { did: string; private path?; private query?; private fragment?; private parameters?; private parameterKeys; constructor(did: string, parameterKeys?: Array); isDidUrl(): boolean; static validateDid(did: z.input): boolean; static validateDidUrl(did: z.input): boolean; validate(): boolean; get didUrl(): string; withPath(path: string): this; addPath(path: string): this; removePath(): this; withQuery(query: Record): this; addQuery(query: Record): this; removeQuery(): this; withFragment(fragment: string): this; removeFragment(): this; get didParts(): DidParts; get didUrlParts(): DidUrlParts; private stripOptionalPrefix; private addPrefixIfNotSupplied; addParameterKey(key: string | Array): this; toString(): string; toJSON(): string; }