import type { SerializableTevmState } from '@tevm/state';
import type { Storage } from './Storage.js';
/**
 * Options for creating a sync storage persister.
 */
export type CreateSyncStoragePersisterOptions = {
    /** The storage client used for setting and retrieving items from cache.
     * For SSR pass in `undefined`. Note that window.localStorage can be
     * `null` in Android WebViews depending on how they are configured.
     */
    storage: Storage;
    /** The key to use when storing the cache */
    key?: string;
    /** To avoid spamming, pass a time in ms to throttle saving the cache to disk */
    throttleTime?: number;
    /**
     * How to serialize the data to storage.
     * @default `JSON.stringify`
     */
    serialize?: (client: SerializableTevmState) => string;
    /**
     * How to deserialize the data from storage.
     * @default `JSON.parse`
     */
    deserialize?: (cachedString: string) => SerializableTevmState;
};
//# sourceMappingURL=CreateSyncStoragePersisterOptions.d.ts.map