import { ReactiveControllerHost } from 'lit'; import { BaseController } from './base.controller.js'; /** * Controller for syncing component state with localStorage/sessionStorage. * Automatically updates when storage changes in other tabs. * * @example * ```ts * class MyBanner extends LitElement { * private dismissed = new StorageController(this, 'banner-dismissed'); * * handleDismiss() { * this.dismissed.set(true); * } * * render() { * if (this.dismissed.value) return null; * return html` * * `; * } * } * ``` */ export declare class StorageController extends BaseController { private key; private storage; private _value; constructor(host: ReactiveControllerHost, key: string, storage?: Storage); get value(): T | null; set(value: T): void; remove(): void; private load; private handleStorageChange; hostConnected(): void; hostDisconnected(): void; } //# sourceMappingURL=storage.controller.d.ts.map