import type { ProjectSettings } from '@dynamic-labs/sdk-api-core';
type AnyFunction = (...args: any[]) => any;
type MaybePromisify<T> = T | Promise<T>;
type PromisifyMethods<T> = {
    [K in keyof T]: T[K] extends AnyFunction ? (...args: Parameters<T[K]>) => MaybePromisify<ReturnType<T[K]>> : T[K];
};
export type SupportedStorage = PromisifyMethods<Pick<Storage, 'getItem' | 'setItem' | 'removeItem'>> & {
    /**
     * If set to `true` signals to the library that the storage medium is used
     * on a server and the values may not be authentic, such as reading from
     * request cookies. Implementations should not set this to true if the client
     * is used on a server that reads storage information from authenticated
     * sources, such as a secure database or file.
     */
    isServer?: boolean;
};
/**
 * Checks whether localStorage is supported on this browser.
 */
export declare const supportsLocalStorage: () => boolean;
/**
 * Provides safe access to the globalThis.localStorage property.
 */
export declare const localStorageAdapter: SupportedStorage;
export declare const readEnvironmentSettings: () => ProjectSettings | null;
/**
 * Returns a localStorage-like object that stores the key-value pairs in
 * memory.
 */
export declare const memoryLocalStorageAdapter: (store?: {
    [key: string]: string;
}) => SupportedStorage;
export {};
//# sourceMappingURL=localStorage.d.ts.map