import { DirectiveResult } from 'lit/async-directive.js'; /** * Creates an asynchronous directive that calls the user-specified startup and cleanup functions in accordance with the lifecycle and render argument changes. * Typically, there is no need to expose this directive directly to users. Instead, please provide a method that wraps the directive in a [Reactive Controller](https://lit.dev/docs/composition/controllers/). * See [click-outside.ts](../click-outside.ts) for an example of actual use. * @param start A startup function that is called when the directive is rendered. It must return a cleanup function. * @param shouldRenew A function that determines whether it is necessary to restart. * The arguments of the current directive call and the directive call when it was last started are passed. * If omitted, a function that compares each element of the array using `Object.is` is used. * @returns An async directive. */ export declare function createControllerDirective(start: (...args: T) => () => void, shouldRenew?: (newArgs: NoInfer, oldArgs: NoInfer) => boolean): (...values: T) => DirectiveResult;