export type ConnectCallback = (el: HTMLElement) => void;
export type DisconnectCallback = (el: HTMLElement) => void;
export type UpdateCallback = (el: HTMLElement) => void;
/**
* Fires the callback once when the element is first connected to the DOM.
* If the element is removed and re-added, the callback fires again.
*
* Useful for fetching data, focusing elements, or starting animations
* when a conditionally-rendered element appears.
*
* @example
* ```ts
* html`
*
fetchData())}>
* ${content()}
*
* `;
* ```
*/
export declare function onConnect(callback: ConnectCallback): import("lit-html/directive").DirectiveResult;
/**
* Fires the callback when the element is removed from the DOM.
* Always uses the latest callback passed — no stale closure issues.
*
* Useful for teardown logic on conditionally-rendered elements,
* cancelling in-flight requests, or saving state before removal.
*
* @example
* ```ts
* html`
* cancelRequest())}>
* ${content()}
*
* `;
* ```
*/
export declare function onDisconnect(callback: DisconnectCallback): import("lit-html/directive").DirectiveResult;
/**
* Fires the callback on every re-render after the initial mount.
* Skips the first render (use `onConnect` for that).
* Resets after disconnection, so the first render after reconnect is
* also skipped.
*
* Useful for reacting to prop/state changes on a mounted element.
*
* @example
* ```ts
* html`
* syncScroll(el))}>
* ${items()}
*
* `;
* ```
*/
export declare function onUpdate(callback: UpdateCallback): import("lit-html/directive").DirectiveResult;
//# sourceMappingURL=lifecycleDirectives.d.ts.map