import type { AgentRow } from './types.js'; export type ServiceEndpointValue = string | string[] | Record; export interface VerificationMethod { id: string; type: 'Ed25519VerificationKey2020'; controller: string; publicKeyMultibase: string; } export interface ServiceEndpoint { id: string; type: string; serviceEndpoint: ServiceEndpointValue; } export interface DIDDocument { '@context': string[]; id: string; alsoKnownAs?: string[]; controller?: string | string[]; verificationMethod: VerificationMethod[]; authentication: string[]; assertionMethod: string[]; capabilityInvocation: string[]; capabilityDelegation: string[]; service?: ServiceEndpoint[]; created?: string; updated?: string; deactivated?: boolean; } type ResolverConfig = { getStoredDocument?: (did: string) => DIDDocument | null; getAgentByBeamId?: (beamId: string) => AgentRow | null; findAgentByHandle?: (handle: string) => AgentRow | null; }; export declare function configureDIDResolver(config: ResolverConfig): void; /** Convert a did:beam DID back to a beam_id. Returns null if not a valid did:beam. */ export declare function didToBeamId(did: string): string | null; export declare function toBeamDID(beamId: string): string; export declare function generateDIDDocument(agent: AgentRow): DIDDocument; export declare function generateKeyBasedDIDDocument(did: string): DIDDocument | null; export declare function generateDirectoryDIDDocument(): DIDDocument; export declare function deactivateDIDDocument(document: DIDDocument): DIDDocument; export declare function resolveDID(did: string): DIDDocument | null; export declare function resolveDIDWithFallbacks(did: string): Promise; export {};