import { z } from 'zod'; import { Did } from './did'; import { Service, ServiceOptions } from './service'; import { VerificationMethod, VerificationMethodOptions } from './verificationMethod'; import { didDocumentSchema, stringOrDid } from './schemas'; import { MakePropertyRequired, Modify } from './types'; type DidOrVerificationMethodArray = Array; type VerificationMethodOrDidOrString = VerificationMethod | VerificationMethodOptions | Did | string; export type DidDocumentOptions = {}> = Modify, { verificationMethod?: Array; authentication?: DidOrVerificationMethodArray; assertionMethod?: DidOrVerificationMethodArray; keyAgreement?: DidOrVerificationMethodArray; capabilityInvocation?: DidOrVerificationMethodArray; capabilityDelegation?: DidOrVerificationMethodArray; service?: Array; }> & Record & T; type ReturnBuilderWithAlsoKnownAs = MakePropertyRequired; type ReturnBuilderWithController = MakePropertyRequired; type ReturnBuilderWithVerificationMethod = MakePropertyRequired; type ReturnBuilderWithAuthentication = MakePropertyRequired; type ReturnBuilderWithAssertionMethod = MakePropertyRequired; type ReturnBuilderWithKeyAgreementMethod = MakePropertyRequired; type ReturnBuilderWithCapabilityInvocation = MakePropertyRequired; type ReturnBuilderWithCapabilityDelegation = MakePropertyRequired; type ReturnBuilderWithService = MakePropertyRequired; export declare class DidDocument { fullDocument: DidDocumentOptions; id: Did; alsoKnownAs?: Array; controller?: Did | Array; verificationMethod?: Array; authentication?: Array; assertionMethod?: Array; keyAgreement?: Array; capabilityInvocation?: Array; capabilityDelegation?: Array; service?: Array; constructor(options: DidDocumentOptions); findVerificationMethodByDidUrl(didUrl: z.input): VerificationMethod; safeFindToVerificationMethodByDidUrl(didUrl: z.input): VerificationMethod | undefined; addAlsoKnownAs(alsoKnownAs: string): ReturnBuilderWithAlsoKnownAs; addController(controller: string | Did, asArray?: boolean): ReturnBuilderWithController; addVerificationMethod(verificationMethod: VerificationMethodOptions): ReturnBuilderWithVerificationMethod; addAuthentication(verificationMethodOrDidOrString: VerificationMethodOrDidOrString): ReturnBuilderWithAuthentication; addAuthenticationUnsafe(verificationMethodOrDidOrString: VerificationMethodOrDidOrString): ReturnBuilderWithAuthentication; addKeyAgreement(verificationMethodOrStringOrDid: VerificationMethodOrDidOrString): ReturnBuilderWithKeyAgreementMethod; addKeyAgreementUnsafe(verificationMethodOrStringOrDid: VerificationMethodOrDidOrString): ReturnBuilderWithKeyAgreementMethod; addAssertionMethod(verificationMethodOrStringOrDid: VerificationMethodOrDidOrString): ReturnBuilderWithAssertionMethod; addAssertionMethodUnsafe(verificationMethodOrStringOrDid: VerificationMethodOrDidOrString): ReturnBuilderWithAssertionMethod; addCapabilityDelegation(verificationMethodOrStringOrDid: VerificationMethodOrDidOrString): ReturnBuilderWithCapabilityDelegation; addCapabilityDelegationUnsafe(verificationMethodOrStringOrDid: VerificationMethodOrDidOrString): ReturnBuilderWithCapabilityDelegation; addCapabilityInvocation(verificationMethodOrStringOrDid: VerificationMethodOrDidOrString): ReturnBuilderWithCapabilityInvocation; addCapabilityInvocationUnsafe(verificationMethodOrStringOrDid: VerificationMethodOrDidOrString): ReturnBuilderWithCapabilityInvocation; addService(service: ServiceOptions): ReturnBuilderWithService; private addVerificationMethodOrDidOrString; findServiceByType(type: string): Service; safeFindServiceByType(type: string): Service | undefined; findServiceById(id: string): Service; safeFindServiceById(id: string): Service | undefined; findVerificationMethodByTypeAndPurpose(type: string, purpose?: 'authentication' | 'keyAgreement' | 'assertionMethod' | 'capabilityInvocation' | 'capabilityDelegation' | 'verificationMethod'): VerificationMethod; findVerificationMethodByDidUrlAndPurpose(did: Did | string, purpose?: 'authentication' | 'keyAgreement' | 'assertionMethod' | 'capabilityInvocation' | 'capabilityDelegation' | 'verificationMethod'): VerificationMethod; safeFindVerificationMethodByDidUrlAndPurpose(did: Did | string, purpose?: 'authentication' | 'keyAgreement' | 'assertionMethod' | 'capabilityInvocation' | 'capabilityDelegation' | 'verificationMethod'): VerificationMethod | undefined; safeFindVerificationMethodByTypeAndPurpose(type: string, purpose?: 'authentication' | 'keyAgreement' | 'assertionMethod' | 'capabilityInvocation' | 'capabilityDelegation' | 'verificationMethod'): VerificationMethod | undefined; isVerificationMethodTypeRegistered(id: Did | string, additionalAcceptedTypes?: string | Array): boolean; isServiceTypeRegistered(id: string, additionalAcceptedTypes?: string | Array): boolean; toJSON(omitKeys?: Array): Record; } export {};