import { AsyncDirective } from 'lit/async-directive.js';
import { type LiveData } from '../reactive/LiveData.js';
declare class LiveDataDirective extends AsyncDirective {
    private liveData?;
    private path?;
    private unsubscribe?;
    private lastValue?;
    render(liveData: LiveData<object>, path: string, defaultVaue?: unknown): unknown;
    subscribe(): void;
    protected disconnected(): void;
    protected reconnected(): void;
}
/**
 * A Lit directive that connects a `LiveData` property to a LitElement property.
 * When the `LiveData` property changes, the LitElement re-renders.
 *
 * @param liveData - The `LiveData` instance.
 * @param path - The dot-notation path to the property to observe (e.g., "user.name").
 * @returns The current value of the `LiveData` property.
 *
 * @example
 * ```typescript
 * import { LitElement, html } from 'lit';
 * import { customElement } from 'lit/decorators.js';
 * import { live, LiveData } from './LiveData.js';
 *
 * @customElement('my-element')
 * export class MyElement extends LitElement {
 *   // Create a LiveData instance
 *   userData = new LiveData({ name: 'Initial Name' });
 *
 *   override render() {
 *     return html`
 *       <div>User Name: ${live(this.userData, 'name')}</div>
 *     `;
 *   }
 * }
 * ```
 */
export declare const live: (liveData: LiveData<object>, path: string, defaultVaue?: unknown) => import("lit-html/directive.js").DirectiveResult<typeof LiveDataDirective>;
export {};
//# sourceMappingURL=live.d.ts.map