import MemoryStorage from "./MemoryStorage";
export declare const DEFAULT_STORAGE_KEY = "__RECENT_SEARCHES__";
export declare const isLocalStorageSupported: () => boolean;
export declare const safeDataParse: <T>(data: string | null, defaultValue: T) => T;
export interface ISafeLocalStorageConfig<T> {
    defaultValue: T;
    key?: string;
    limit?: number;
}
export interface ISafeLocalStorage<T> {
    getItem: () => T;
    setItem: (item: T) => boolean;
}
export declare class SafeLocalStorage<T> implements ISafeLocalStorage<T> {
    private readonly KEY;
    private readonly DEFAULT_VALUE;
    constructor(config: ISafeLocalStorageConfig<T>);
    getItem: () => T;
    setItem: (items: T) => boolean;
}
declare const NewSafeLocalStorage: <T>(config: ISafeLocalStorageConfig<T>) => SafeLocalStorage<T> | MemoryStorage<T>;
export default NewSafeLocalStorage;
