import type { AgentContext, DidDocument } from '@credo-ts/core'; import { Resolver } from 'did-resolver'; import { EthereumModuleConfig } from '../EthereumModuleConfig'; export type CreateDidOperationOptions = { operation: DidOperation.Create; serviceEndpoint?: string; }; export type UpdateDidOperationOptions = { operation: DidOperation.Update; didDocument: DidDocument; did: string; }; export type DeactivateDidOperationOptions = { operation: DidOperation.Deactivate; did: string; }; export type AddResourceDidOperationOptions = { operation: DidOperation.AddResource; resourceId: string; resource: object; did: string; }; export declare enum DidOperation { Create = "createDID", Update = "updateDIDDoc", Deactivate = "deactivate", AddResource = "addResource" } export type DidOperationOptions = CreateDidOperationOptions | UpdateDidOperationOptions | DeactivateDidOperationOptions | AddResourceDidOperationOptions; export type SchemaOperationOptions = CreateSchemaOperationOptions; export type CreateSchemaOperationOptions = { operation: SchemaOperation.CreateSchema; did: string; }; export declare enum SchemaOperation { CreateSchema = "createSchema" } export declare class EthereumLedgerService { readonly rpcUrl: string; private readonly schemaManagerContractAddress; private readonly fileServerToken; private readonly fileServerUrl; readonly resolver: Resolver; constructor(config: EthereumModuleConfig); createSchema(agentContext: AgentContext, { did, schemaName, schema }: { did: string; schemaName: string; schema: object; }): Promise<{ did: string; schemaId: string; schemaTxnHash: any; tnxSchemaId?: undefined; schemaTxhash?: undefined; schemaState?: undefined; } | { tnxSchemaId: string; schemaTxhash: string; schemaState: { state: string; reason: string; }; did?: undefined; schemaId?: undefined; schemaTxnHash?: undefined; }>; getSchemaByDidAndSchemaId(agentContext: AgentContext, did: string, schemaId: string): Promise; private createSchemaRegistryInstance; private getSigningKey; private getPublicKeyAndAddressFromDid; resolveDID(did: string): Promise; }