import { Awaitable, MaybeAccessor } from '@solidjs-use/shared'; interface StorageLikeAsync { getItem: (key: string) => Awaitable; setItem: (key: string, value: string) => Awaitable; removeItem: (key: string) => Awaitable; } interface StorageLike { getItem: (key: string) => string | null; setItem: (key: string, value: string) => void; removeItem: (key: string) => void; } /** * @experimental The API is not finalized yet. It might not follow semver. */ interface SSRHandlersMap { getDefaultStorage: () => StorageLike | undefined; getDefaultStorageAsync: () => StorageLikeAsync | undefined; updateHTMLAttrs: (selector: string | MaybeAccessor, attribute: string, value: string) => void; } declare function getSSRHandler(key: T, fallback: SSRHandlersMap[T]): SSRHandlersMap[T]; declare function getSSRHandler(key: T, fallback: SSRHandlersMap[T] | undefined): SSRHandlersMap[T] | undefined; declare function setSSRHandler(key: T, fn: SSRHandlersMap[T]): void; export { SSRHandlersMap, StorageLike, StorageLikeAsync, getSSRHandler, setSSRHandler };