import { AsyncDirective } from 'lit-html/async-directive'; import { noChange } from 'lit-html'; interface Unsubscribable { unsubscribe(): void; } interface Subscribable { /** @deprecated Use an observer instead of a complete callback */ subscribe(next: null | undefined, error: null | undefined, complete: () => void): Unsubscribable; /** @deprecated Use an observer instead of an error callback */ subscribe(next: null | undefined, error: (error: any) => void, complete?: () => void): Unsubscribable; /** @deprecated Use an observer instead of a complete callback */ subscribe(next: (value: T) => void, error: null | undefined, complete: () => void): Unsubscribable; subscribe(next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): Unsubscribable; } declare class ObserveDirective extends AsyncDirective { observable: Subscribable | undefined; subscription: Unsubscribable; render(asyncResult: Subscribable): "" | typeof noChange; subscribe(observable: Subscribable): void; disconnected(): void; unsubscribe(): void; reconnected(): void; } export declare const async: (asyncResult: Subscribable) => import("lit-html/directive").DirectiveResult; export {};