import { AsyncDirective } from 'lit/async-directive.js';
import type { Signal } from '../Signal';
/**
 * A directive that renders a signal and subscribes to it, updating the part when the signal changes.
 *
 * @private
 */
declare class WatchDirective extends AsyncDirective {
    private _signal?;
    private _dispose?;
    render(signal: Signal<unknown>, converter?: (value: unknown) => unknown): unknown;
    protected disconnected(): void;
    protected reconnected(): void;
}
/**
 * Renders a signal and subscribes to it, updating the part when the signal changes.
 *
 * @public
 */
export declare const watch: (signal: Signal<unknown>, converter?: ((value: unknown) => unknown) | undefined) => import("lit-html/directive").DirectiveResult<typeof WatchDirective>;
export {};
//# sourceMappingURL=WatchDirective.d.ts.map