///
import Config from './models/Config';
import { ProtocolVersionModel } from './VersionManager';
import { ResponseModel } from '../common/Response';
/**
* The core class that is instantiated when running a Sidetree node.
*/
export default class Core {
private transactionStore;
private unresolvableTransactionStore;
private operationStore;
private versionManager;
private blockchain;
private cas;
private downloadManager;
private observer;
private batchScheduler;
private resolver;
private serviceInfo;
/**
* Core constructor.
*/
constructor(config: Config, protocolVersions: ProtocolVersionModel[]);
/**
* The initialization method that must be called before consumption of this core object.
* The method starts the Observer and Batch Writer.
*/
initialize(): Promise;
/**
* Handles an operation request.
*/
handleOperationRequest(request: Buffer): Promise;
/**
* Handles resolve operation.
* @param didOrDidDocument Can either be:
* 1. Fully qualified DID. e.g. 'did:sidetree:abc' or
* 2. An encoded DID Document prefixed by the DID method name. e.g. 'did:sidetree:'.
*/
handleResolveRequest(didOrDidDocument: string): Promise;
/**
* Handles the get version request. It gets the versions from the dependent services
* as well.
*/
handleGetVersionRequest(): Promise;
}