export declare type StorageItem = string | null;
export declare type AsyncStorage = {
    setItem: (key: string, item: string) => Promise<void>;
    getItem: (key: string) => Promise<StorageItem>;
    removeItem: (key: string) => Promise<void>;
};
export declare type StorageType = Storage | AsyncStorage;
export declare type Options = {
    prefix?: string;
    target?: StorageType;
    json?: boolean;
    sync?: {
        [key: string]: string;
    };
};
export declare type StorageProviderInstance = {
    get(key: string): Promise<StorageItem> | StorageItem;
    set(key: string, value: string): Promise<void> | undefined;
    remove(key: string): Promise<void> | undefined;
};
export default function StorageProvider({ target, json, prefix }?: Options): StorageProviderInstance;
