import type { LitElement } from 'lit'; type UpdateHandler = (prev?: unknown, next?: unknown) => void; interface WatchOptions { /** * If true, will only start watching after the initial update/render */ waitUntilFirstUpdate?: boolean; } /** * Runs when observed properties change, e.g. @property or @state, but before the component updates. To wait for an * update to complete after a change occurs, use `await this.updateComplete` in the handler. To start watching after the * initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler. * * Usage: * ```javascript * \@watch('propName') * handlePropChange(oldValue, newValue) { * ... * } * ``` */ export declare function watch(propertyName: string | string[], options?: WatchOptions): (proto: ElemClass, propertyKey: string, descriptor: TypedPropertyDescriptor) => void; export {};