///
import type { KeyValueStore } from '@web5/common';
import type { AbstractLevel } from 'abstract-level';
import { DataStoreLevel, Dwn, EventLogLevel, MessageStoreLevel, ResumableTaskStoreLevel } from '@tbd54566975/dwn-sdk-js';
import { DidResolverCache } from '@web5/dids';
import type { Web5PlatformAgent } from './types/agent.js';
import { BearerIdentity } from './bearer-identity.js';
import { LocalKeyManager } from './local-key-manager.js';
import { DwnDidStore } from './store-did.js';
import { DwnKeyStore } from './store-key.js';
import { DwnIdentityStore } from './store-identity.js';
type PlatformAgentTestHarnessParams = {
agent: Web5PlatformAgent;
agentStores: 'dwn' | 'memory';
didResolverCache: DidResolverCache;
dwn: Dwn;
dwnDataStore: DataStoreLevel;
dwnEventLog: EventLogLevel;
dwnMessageStore: MessageStoreLevel;
dwnResumableTaskStore: ResumableTaskStoreLevel;
syncStore: AbstractLevel;
vaultStore: KeyValueStore;
dwnStores: {
keyStore: DwnKeyStore;
identityStore: DwnIdentityStore;
didStore: DwnDidStore;
clear: () => void;
};
};
export declare class PlatformAgentTestHarness {
agent: Web5PlatformAgent;
agentStores: 'dwn' | 'memory';
didResolverCache: DidResolverCache;
dwn: Dwn;
dwnDataStore: DataStoreLevel;
dwnEventLog: EventLogLevel;
dwnMessageStore: MessageStoreLevel;
dwnResumableTaskStore: ResumableTaskStoreLevel;
syncStore: AbstractLevel;
vaultStore: KeyValueStore;
/**
* Custom DWN Stores for `keyStore`, `identityStore` and `didStore`.
* This allows us to clear the store cache between tests
*/
dwnStores: {
keyStore: DwnKeyStore;
identityStore: DwnIdentityStore;
didStore: DwnDidStore;
/** clears the protocol initialization caches */
clear: () => void;
};
constructor(params: PlatformAgentTestHarnessParams);
clearStorage(): Promise;
closeStorage(): Promise;
createAgentDid(): Promise;
createIdentity({ name, testDwnUrls }: {
name: string;
testDwnUrls: string[];
}): Promise;
static setup({ agentClass, agentStores, testDataLocation }: {
agentClass: new (params: any) => Web5PlatformAgent;
agentStores?: 'dwn' | 'memory';
testDataLocation?: string;
}): Promise;
private static useDiskStores;
private static useMemoryStores;
}
export {};
//# sourceMappingURL=test-harness.d.ts.map