interface StorageHandlerAsObject {
    value: any;
    set: (newValue: any) => void;
    remove: () => void;
}
interface StorageHandlerAsArray extends Array<any> {
    0: any;
    1: (newValue: any) => void;
    2: () => void;
}
interface StorageHandler extends StorageHandlerAsArray {
}
interface StorageHandler extends StorageHandlerAsObject {
}
/**
 * useSessionstorage
 * Tracks a value within sessionStorage and updates it
 * @param key Key of the value to be stored
 * @param defaultValue Default value of the stored item
 */
declare function useSessionstorage(key: string, defaultValue?: any): StorageHandler;

export default useSessionstorage;
