import type { DidResolutionResult, DidResolverCache, DidResolverCacheLevelParams } from '@enbox/dids';
import type { EnboxPlatformAgent } from './types/agent.js';
import { DidResolverCacheLevel } from '@enbox/dids';
/**
 * AgentDidResolverCache keeps a stale copy of the Agent's managed Identity DIDs and only evicts and refreshes upon a successful resolution.
 * This allows for quick and offline access to the internal DIDs used by the agent.
 */
export declare class AgentDidResolverCache extends DidResolverCacheLevel implements DidResolverCache {
    /**
     * Holds the instance of a `EnboxPlatformAgent` that represents the current execution context for
     * the `AgentDidApi`. This agent is used to interact with other Enbox agent components. It's vital
     * to ensure this instance is set to correctly contextualize operations within the broader Enbox
     * Agent framework.
     */
    private _agent?;
    /** A map of DIDs that are currently in-flight. This helps avoid going into an infinite loop */
    private _resolving;
    constructor({ agent, db, location, ttl }: DidResolverCacheLevelParams & {
        agent?: EnboxPlatformAgent;
    });
    get agent(): EnboxPlatformAgent;
    set agent(agent: EnboxPlatformAgent);
    /**
     * Get the DID resolution result from the cache for the given DID.
     *
     * If the DID is managed by the agent, or is the agent's own DID, it will not evict it from the cache until a new resolution is successful.
     * This is done to achieve quick and offline access to the agent's own managed DIDs.
     */
    get(did: string): Promise<DidResolutionResult | void>;
}
//# sourceMappingURL=agent-did-resolver-cache.d.ts.map