import { IStateManager, StateType } from '@sphereon/oid4vci-common';
export declare function lookupStateManagerMultiGetAsserted<K extends StateType, V extends StateType>(args: {
    id: string;
    lookups: string[];
    keyValueMapper: IStateManager<K>;
    valueStateManager: IStateManager<V>;
}): Promise<V>;
export declare function lookupStateManagerMultiGet<K extends StateType, V extends StateType>({ id, lookups, keyValueMapper, valueStateManager, }: {
    id: string;
    lookups: string[];
    keyValueMapper: IStateManager<K>;
    valueStateManager: IStateManager<V>;
}): Promise<V | undefined>;
export declare class LookupStateManager<K extends StateType, V extends StateType> implements IStateManager<V> {
    private keyValueMapper;
    private valueStateManager;
    private lookup;
    constructor(keyValueMapper: IStateManager<K>, valueStateManager: IStateManager<V>, lookup: string);
    startCleanupRoutine(timeout?: number | undefined): Promise<void>;
    stopCleanupRoutine(): Promise<void>;
    clearAll(): Promise<void>;
    clearExpired(timestamp?: number): Promise<void>;
    private assertedValueId;
    private valueId;
    delete(id: string): Promise<boolean>;
    get(id: string): Promise<V | undefined>;
    has(id: string): Promise<boolean>;
    set(_id: string, _stateValue: V): Promise<void>;
    setMapped(valueKey: string, keyObject: K, stateValue: V): Promise<void>;
    getAsserted(id: string): Promise<V>;
}
//# sourceMappingURL=LookupStateManager.d.ts.map