import { SmartAccountSigner } from "@alchemy/aa-core";
import { ISessionStorage, SessionLeafNode, SessionSearchParam, SessionStatus } from "../interfaces/ISessionStorage.js";
import { SignerData } from "../utils/Types";
export declare class SessionLocalStorage implements ISessionStorage {
    private smartAccountAddress;
    constructor(smartAccountAddress: string);
    private validateSearchParam;
    private getSessionStore;
    private getSignerStore;
    private getStorageKey;
    private toLowercaseAddress;
    addSessionData(leaf: SessionLeafNode): Promise<void>;
    getSessionData(param: SessionSearchParam): Promise<SessionLeafNode>;
    updateSessionStatus(param: SessionSearchParam, status: SessionStatus): Promise<void>;
    clearPendingSessions(): Promise<void>;
    addSigner(signerData: SignerData): Promise<SmartAccountSigner>;
    getSignerByKey(sessionPublicKey: string): Promise<SmartAccountSigner>;
    getSignerBySession(param: SessionSearchParam): Promise<SmartAccountSigner>;
    getAllSessionData(param?: SessionSearchParam): Promise<SessionLeafNode[]>;
    getMerkleRoot(): Promise<string>;
    setMerkleRoot(merkleRoot: string): Promise<void>;
}
