import type { SettleGate } from "./createSettleGate.mjs";
/**
 * Register the calling component as a source on a settle gate and release it
 * once `settled` is `true`. Generalizes `useCoordinatedLazy`: registration
 * happens on mount and the release is idempotent, so a component that unmounts
 * before settling can't hold the gate open. Defaults to the page-global
 * {@link pageSettleGate}; pass `null` to opt out of registration entirely (used
 * when a swap conditionally registers with a controller gate that may be
 * absent).
 */
export declare function useSettleGate(settled: boolean, gate?: SettleGate | null): void;