import { t as HydrationSignal } from "../hydration-DclSpq51.mjs";
import { ReactiveController, ReactiveControllerHost } from "lit";

//#region src/adapters/frameworks/lit.d.ts
/**
 * Lit `ReactiveController` over `HydrationSignal` — gate with `hydrated`.
 * Construct on the host (`addController`); subscribe on connect, tear down on
 * disconnect. Null signal → `hydrated` stays `true`.
 *
 * @example
 * ```ts
 * import { LitElement, html } from "lit";
 * import { HydrationController } from "@stainless-code/persist/frameworks/lit";
 *
 * class PrefsEl extends LitElement {
 *   #hydration = new HydrationController(this, prefsHydration);
 *   render() {
 *     return this.#hydration.hydrated
 *       ? html`<prefs-panel></prefs-panel>`
 *       : html`<skeleton-el></skeleton-el>`;
 *   }
 * }
 * ```
 */
declare class HydrationController implements ReactiveController {
  #private;
  constructor(host: ReactiveControllerHost, signal: HydrationSignal | null | undefined);
  get hydrated(): boolean;
  hostConnected(): void;
  hostDisconnected(): void;
}
//#endregion
export { HydrationController };