import { Wallet, Signer } from "ethers";
import { ISessionStorage, SessionLeafNode, SessionSearchParam, SessionStatus } from "../interfaces/ISessionStorage";
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(signer?: Wallet): Promise<Wallet>;
    getSignerByKey(sessionPublicKey: string): Promise<Signer>;
    getSignerBySession(param: SessionSearchParam): Promise<Signer>;
    getAllSessionData(param?: SessionSearchParam): Promise<SessionLeafNode[]>;
    getMerkleRoot(): Promise<string>;
    setMerkleRoot(merkleRoot: string): Promise<void>;
}
