import { HTMLTestFixture } from './html-test-fixture';
import { DiffConfig } from '../semantic-diff/semantic-diff';
export { HTMLTestFixture };
export interface TestFixtureConfig extends DiffConfig {
componentName?: string;
}
/**
* Sets up a test fixture and renders the given value to the DOM.
* To avoid memory leaks, call teardown() after the test finished.
*
* This function returns synchronously, if dependent on async rendering
* use the testFixture() function instead.
*
* @param value the value to render. A string is rendered as HTML, any other
* values are passed to lit-html directly. Any valid lit value can be rendered.
* @returns the test fixture.
*/
export declare function testFixtureSync(value: unknown): HTMLTestFixture;
/**
* Sets up a test fixtures, and waits for one render cycle to complete. Use this
* if dependent on async rendering. See testFixtureSync() for more.
*
* @param value the value to render.
* @returns a promise that resolves with the test fixture after one render cycle.
*/
export declare function testFixture(value: unknown): Promise;
/**
* Sets up a web component fixture. Uses testFixture(), but adds convenience when
* testing web components. The .component property can be used for retreiving the
* component, and assertEquals() will use the component's shadow root for diffing
* if it's used.
*
* @param value the value to render.
* @param componentName the name of the component. Optional, by default the first component found is used
* @returns a promise that resolves with the test fixture after one render cycle.
*/
export declare function componentFixture(value: unknown, config?: TestFixtureConfig): Promise;
/**
* Same as componentFixture(), but without waiting for a render.
*
* @param value the value to render.
* @param componentName the name of the component. Optional, by default the first component found is used
* @returns the test fixture.
*/
export declare function componentFixtureSync(value: unknown, config?: TestFixtureConfig): HTMLTestFixture;