import type { Deserializer, Serializer } from '../types/index';
/**
 * * Get item from local storage.
 *
 * @param key - Key to get item from local storage.
 * @param deserialize - Optional deserializer function to convert the stored value back to type `T`. Defaults to `JSON.parse`.
 * @returns Returns saved item from local storage if it exists with that key.
 */
export declare function getFromLocalStorage<T>(key: string, deserialize?: Deserializer<T>): T | null;
/**
 * * Save item in local storage.
 *
 * @param key - Key to save an item.
 * @param value - The item/value to save.
 * @param serialize - Optional serializer function to convert the value of type `T` to a string. Defaults to `JSON.stringify`.
 */
export declare function saveToLocalStorage<T>(key: string, value: T, serialize?: Serializer<T>): void;
/**
 * * Remove item from local storage.
 *
 * @param key - Key to delete item from local storage.
 */
export declare function removeFromLocalStorage(key: string): void;
/**
 * * Get item from session storage.
 *
 * @param key - Key to get item from session storage.
 * @param deserialize - Optional deserializer function to convert the stored value back to type `T`. Defaults to `JSON.parse`.
 * @returns Returns saved item from session storage if it exists with that key.
 */
export declare function getFromSessionStorage<T>(key: string, deserialize?: Deserializer<T>): T | null;
/**
 * * Save item in session storage.
 *
 * @param key - Key to save an item.
 * @param value - The item/value to save.
 * @param serialize - Optional serializer function to convert the value of type `T` to a string. Defaults to `JSON.stringify`.
 */
export declare function saveToSessionStorage<T>(key: string, value: T, serialize?: Serializer<T>): void;
/**
 * * Remove item from session storage.
 *
 * @param key - Key to delete item from session storage.
 */
export declare function removeFromSessionStorage(key: string): void;
