import { ChainTypes, LoginRequest, WalletTypes } from '../../common/types';
import LoginConfirmation from '../models/loginConfirmation';
import LoginSession from '../models/loginSession';
import { OverlayService } from './overlayService';
import { WalletService } from './walletService';
export declare class SessionService {
    private _walletService;
    private _overlayService;
    private _loginConfirmationBrowserStorage;
    private _loginSessionBrowserStorage;
    private _sessionEntryBrowserStorage;
    constructor(_walletService: WalletService, _overlayService: OverlayService);
    getSessions(moduleName: string): Promise<LoginSession[]>;
    getSession(sessionId: string): Promise<LoginSession>;
    getSuitableLoginConfirmations(moduleName: string, request: LoginRequest): Promise<LoginConfirmation[]>;
    isValidSession(sessionId: string): Promise<boolean>;
    killSession(sessionId: string): Promise<void>;
    killSessionsByWallet(walletType: string): Promise<void>;
    createSession(moduleName: string, request: LoginRequest, tabId: number, wasError?: {
        creatingLoginConfirmationFailed: boolean;
    }): Promise<LoginSession>;
    createLoginConfirmation(moduleName: string, request: LoginRequest, chain: ChainTypes, wallet: WalletTypes): Promise<LoginConfirmation>;
    getItem(sessionId: string, key: string): Promise<any>;
    setItem(sessionId: string, key: string, value: any): Promise<void>;
    removeItem(sessionId: string, key: string): Promise<void>;
    clearItems(sessionId: string): Promise<void>;
}
