import type { AgentPassport } from '../types/passport.js';
import type { DIDDocument, ServiceEndpoint, DIDResolutionResult } from '../types/did.js';
/**
 * Create a DID from an Ed25519 public key.
 * Format: did:aps:<hex-public-key>
 */
export declare function createDID(publicKey: string): string;
/**
 * Create a DID using raw hex encoding (legacy/alias format).
 */
export declare function createDIDHex(publicKey: string): string;
/**
 * Extract the public key from a did:aps DID.
 */
export declare function publicKeyFromDID(did: string): string;
/**
 * Check if a string is a valid did:aps DID.
 */
export declare function isValidDID(did: string): boolean;
/**
 * Generate a W3C DID Document from an Agent Passport.
 */
export declare function passportToDIDDocument(passport: AgentPassport, options?: {
    serviceEndpoints?: ServiceEndpoint[];
    controllers?: string[];
}): DIDDocument;
/**
 * Resolve a did:aps DID. For now, returns a minimal document
 * from just the public key. In future, could query a registry.
 */
export declare function resolveDID(did: string): DIDResolutionResult;
/**
 * Sign arbitrary data using the DID's verification method.
 * Returns a base64url-encoded signature.
 */
export declare function signWithDID(data: Record<string, unknown>, privateKey: string, did: string): Promise<string>;
/**
 * Verify a signature against a DID's public key.
 */
export declare function verifyWithDID(data: Record<string, unknown>, signatureBase64url: string, did: string): Promise<boolean>;
/**
 * Convert hex-encoded Ed25519 public key to multibase (z-prefix + base58btc).
 * Prepends the Ed25519 multicodec prefix (0xed, 0x01) before encoding.
 */
export declare function hexToMultibase(hexKey: string): string;
/**
 * Convert multibase back to hex-encoded public key.
 */
export declare function multibaseToHex(multibase: string): string;
//# sourceMappingURL=did.d.ts.map