import type { ChangeEventParameters } from "../../types/helper/storageHelper/cookiesHelper";
import type { CredentialsCookies } from "../../types/storage/cookies";
import type { USR } from "../../types/helper/cipherHelper";
import { TokenData } from "../..";
declare class CookiesHelper {
    private key;
    private pendingIID;
    private eventHandlers;
    private domain;
    private programId;
    private Cookies;
    private useCookieStore;
    private cipherHelper;
    private errorHandler;
    private cachedIID;
    private cachedUSR;
    private cachedDEK;
    private cachedAccessToken;
    private cachedJWTToken;
    constructor(programId: string, domain: string, errorHandler: (error: any) => void);
    /**
     * Check if CookieStore API is available
     * CookieStore requires secure context (HTTPS or localhost)
     */
    private isCookieStoreAvailable;
    private isSecureContext;
    private buildCookieName;
    private clearCacheForKey;
    private setCookieFallback;
    private getCookieFallback;
    private deleteCookieFallback;
    getIID(): Promise<string>;
    private _fetchOrCreateIID;
    private setIID;
    validateIID(installationId: string): Promise<boolean>;
    getDEK(): Promise<string>;
    setDEK(deviceEncryptionKey: string, USR: USR): Promise<void>;
    validateDEK(DEK: string): Promise<boolean>;
    getUserId(): Promise<number>;
    getDeviceId(): Promise<number>;
    getUSR(): Promise<USR | null>;
    setUSR(deviceId: string, userId: string): Promise<void>;
    validateUSR(USR: string): Promise<boolean>;
    getDeviceSecurityCode(): Promise<string>;
    getAccessToken(): Promise<string>;
    setAccessToken(accessToken: string, expires: number): Promise<void>;
    validateAccessToken(accessToken: string): Promise<boolean>;
    getJWTToken(): Promise<string>;
    setJWTToken(jwtToken: string): Promise<void>;
    validateJWTToken(jwtToken: string): Promise<boolean>;
    get(key: string): Promise<string>;
    set(key: string, value: string, expires?: number): Promise<void>;
    remove(key: string): Promise<void>;
    setCredentialCookiesByTokenData(tokenData: TokenData): Promise<void>;
    clearCredentialCookies(): Promise<void>;
    cookieEventHandler(e: CookieChangeEvent, params: ChangeEventParameters): Promise<void>;
    onChangeHandler(changed: CookieInit[], params: ChangeEventParameters): Promise<void>;
    onDeleteHandler(deleted: CookieInit[], params: ChangeEventParameters): Promise<void>;
    addOnChangeEventListener(id: string, params: ChangeEventParameters): void;
    removeOnChangeEventListener(id: string): void;
    isAuthenticated(): Promise<boolean>;
    getCredentialsCookies(): Promise<CredentialsCookies>;
}
export { CookiesHelper };
