import { LitElement } from '@arcgis/lumina'; /** * Wrap a controller in a small component - useful when you are interested in * only testing the controller behavior. * * @example * ```ts * const testController = (): string => makeController(()=>'a'); * const { component } = await mount(wrapController(testController)); * expect(component.controller).toEqual("a"); * ``` * * @example * ```ts * class TestController extends Controller { * a = "a"; * } * const { * component: { controller } * } = await mount(wrapController(TestController)); * expect(controller.a).toEqual("a"); * ``` */ export declare function wrapController(controller: ((component: LitElement) => T) | (new (component: LitElement) => T), /** * An optional callback to call right after controller constructor */ afterConstruct?: (component: LitElement & { controller: T; }) => Promise | void): typeof LitElement & (new () => LitElement & { controller: T; });