import { type Constructor } from '../../types.js'; import { type BaseTestable } from '../support_testing/base_testable.js'; /** * Provides JS-evaluation assertion methods for testing components * Equivalent to PHP's TestsJs trait */ export declare function TestsJs>(Base: TConstructor): { new (...args: any[]): { /** * Assert that a specific JS expression was queued via $this->js() * * @example * test.assertJs("alert('hello')") */ assertJs(code: string): /*elided*/ any; /** * Assert that no JS expression was queued * * @example * test.assertNoJs() */ assertNoJs(): /*elided*/ any; "__#217@#getDispatchedJs"(): Array<{ expression: string; params: unknown[]; }>; "__#218@#state": import("../support_testing/component_state.ts").ComponentState; "__#218@#dataStore": import("../../store.ts").DataStore; "__#218@#componentContext": import("../../component_context.ts").default; "__#218@#app": import("@adonisjs/core/types").ApplicationService; "__#218@#ctx": import("@adonisjs/http-server").HttpContext; "__#218@#features": import("../../component_hook.ts").default[]; "__#218@#mountParams": any[]; readonly mountParams: any[]; readonly state: import("../support_testing/component_state.ts").ComponentState; mount(...params: any[]): import("../support_testing/base_testable.js").ChainableTest; set(propertyName: string, value: any): import("../support_testing/base_testable.js").ChainableTest; call(method: string, ...params: any[]): import("../support_testing/base_testable.js").ChainableTest; toggle(propertyName: string): import("../support_testing/base_testable.js").ChainableTest; refresh(): import("../support_testing/base_testable.js").ChainableTest; get(propertyName: string): any; snapshot(): import("../../types.js").ComponentSnapshot; effects(): import("../../types.js").ComponentEffects; html(): string; instance(): import("../../component.ts").Component; getState(): import("../support_testing/component_state.ts").ComponentState; "__#218@#executeMount"(...params: any[]): Promise; "__#218@#executeSet"(propertyName: string, value: any): Promise; "__#218@#executeCall"(method: string, ...params: any[]): Promise; "__#218@#executeToggle"(propertyName: string): Promise; "__#218@#executeRefresh"(): Promise; "__#218@#updateComponentState"(component: import("../../component.ts").Component, componentContext: import("../../component_context.ts").default): Promise; "__#218@#getComponentState"(component: import("../../component.ts").Component): Record; "__#218@#createFeatures"(component: import("../../component.ts").Component): import("../../component_hook.ts").default[]; hasMethod(obj: any, methodName: string): boolean; }; } & TConstructor; export interface TestsJs { assertJs(code: string): this; assertNoJs(): this; }