import { type SessionStorage } from '@remix-run/node'; type SessionStorageConfig = { storage?: never; cookieName?: string; } | { storage: SessionStorage; cookieName: string; }; export declare const errors: { readonly configureSessionStorage: string; readonly configAlreadyCalled: "SessionStorage has already been configured."; }; export declare class SessionStorageManager { /** * The default cookie name used for storing the session id. */ private storage; private configPromise; private cookieName; configure(config?: SessionStorageConfig): Promise & { cookieName: string; }>; /** * Returns the configured SessionStorage instance. * If no configuration has been set, this will throw an error. * @returns The configured SessionStorage instance, and the cookie name. */ getSessionStorage(): Promise; private createSessionStorage; private getDefaultCookieOptions; } /** * Returns the configured SessionStorage instance. * If no configuration has been set, this will return a new instance of * SessionStorage using the default cookie settings. * @param config - The configuration options for the SessionStorage instance. * @returns The configured SessionStorage instance. */ export declare function configureSessionStorage(config?: SessionStorageConfig): Promise & { cookieName: string; }>; /** * Returns the configured SessionStorage instance. * If no configuration has been set, this will throw an error. * @returns The configured SessionStorage instance, and the cookie name. */ export declare function getSessionStorage(): Promise & { cookieName: string; }>; export {};