import type { PublicKeyJwk } from '../crypto/index.js'; import { type ParsedDID } from 'did-resolver'; import type { DidDocument, DidService, DidServiceEndpoint, DwnServiceEndpoint } from './types.js'; export interface ParsedDid { did: string; didUrl: string; method: string; id: string; path?: string; fragment?: string; query?: string; params?: ParsedDID['params']; } export declare const DID_REGEX: RegExp; /** * Retrieves services from a given DID document based on provided options. * If no `id` or `type` filters are provided, all defined services are returned. * * Note: The DID document must adhere to the W3C DID specification. * * @param options - An object containing input parameters for retrieving services. * @param options.didDocument - The DID document from which services are retrieved. * @param options.id - Optional. A string representing the specific service ID to match. If provided, only the service with this ID will be returned. * @param options.type - Optional. A string representing the specific service type to match. If provided, only the service(s) of this type will be returned. * * @returns An array of services. If no matching service is found, an empty array is returned. * * @example * * const didDoc = { ... }; // W3C DID document * const services = getServices({ didDocument: didDoc, type: 'DecentralizedWebNode' }); */ export declare function getServices(options: { didDocument: DidDocument; id?: string; type?: string; }): DidService[]; export declare function getVerificationMethodIds(options: { didDocument: DidDocument; publicKeyJwk?: PublicKeyJwk; publicKeyMultibase?: string; }): string | undefined; /** * Retrieves DID verification method types from a given DID document. * * Note: The DID document must adhere to the W3C DID specification. * * @param options - An object containing input parameters for retrieving types. * @param options.didDocument - The DID document from which types are retrieved. * * @returns An array of types. If no types were found, an empty array is returned. */ export declare function getVerificationMethodTypes(options: { didDocument: Record; }): string[]; /** * Type guard function to check if the given endpoint is a DwnServiceEndpoint. * * @param key The endpoint to check. * @returns True if the endpoint is a DwnServiceEndpoint, false otherwise. */ export declare function isDwnServiceEndpoint(endpoint: string | DidServiceEndpoint | DidServiceEndpoint[]): endpoint is DwnServiceEndpoint; export declare function parseDid({ didUrl }: { didUrl: string; }): ParsedDid | undefined; //# sourceMappingURL=utils.d.ts.map