import { Contract, providers } from 'ethers';
import { IDIDDocument, IDIDLogData, IPublicKey, IServiceEndpoint, RegistrySettings, IAuthentication, DocumentSelector } from '@ew-did-registry/did-resolver-interface';
export declare const query: (document: IDIDDocument, selector: DocumentSelector) => IPublicKey | IServiceEndpoint | IAuthentication | undefined;
/**
 * A high level function that manages the flow to read data from the blockchain
 *
 * @param did
 * @param document
 * @param registrySettings
 * @param contract
 * @param provider
 */
export declare const fetchDataFromEvents: (did: string, document: IDIDLogData, registrySettings: Required<RegistrySettings>, contract: Contract, provider: providers.Provider, selector?: DocumentSelector) => Promise<void>;
/**
 * Provided with the fetched data, the function parses it and returns the
 * DID Document associated with the relevant user
 *
 * @param did
 * @param document
 * @param context
 */
export declare const wrapDidDocument: (did: string, document: IDIDLogData, context?: string) => IDIDDocument;
/**
 * Restore document from partially read logs
 *
 * @param logs {IDIDLogData[]}
 */
export declare const mergeLogs: (logs: IDIDLogData[]) => IDIDLogData;
export declare const documentFromLogs: (did: string, logs: IDIDLogData[]) => IDIDDocument;
