// Generated by dts-bundle-generator v7.2.0 import { Type } from '@angular/core'; import { MountConfig } from 'cypress/angular'; import { LitElement, TemplateResult } from 'lit'; import { Attributes, ComponentClass, FunctionComponent, JSX } from 'react'; export interface IRenderer { render: () => void; } export interface AngularOptions { type: Type; config: MountConfig; props?: Partial; children?: string; template?: string; selector?: string; } export interface ReactOptions

| ComponentClass

| ((props: P) => JSX.Element)> { type: T; props?: (Attributes & P) | null; children?: string; } export interface LitOptions { element?: { new (...args: any[]): LitElement; }; selector?: string; children?: string; props?: Partial; template?: TemplateResult; } export interface Options { getAngularOptions?: () => AngularOptions; getReactOptions?:

| ComponentClass

| ((props: P) => JSX.Element)>() => ReactOptions; getLitOptions?: () => LitOptions; } /** * @classdesc Designed for running the same component tests for different framework * * render a component (in Component Test context) of specific framework (React/Lit/Angular) based on an env variable * @example * in cypress config file * ```json * env: { * framework: 'lit', * }, * ``` * @example * in cypress config file * ```json * env: { * framework: 'react', * }, * ``` * @example * in cypress config file * ```json * env: { * framework: 'angular', * }, * ``` * @example * ```ts * const children: string = ` * Title * Alert!!! * `; * const renderFactory: RenderFactory = new RenderFactory({ * getLitOptions: () => ({ element: AlertElement, selector: 'my-alert', props: {type: "inline", status: "danger"}, children }), * getReactOptions: () => ({ type: MyAlert, props: { type: "inline", status: "danger" , children} }), * getAngularOptions: () => ({ type: AlertComponent, config: {declarations: [AlertComponent]}, props: get.props() }) * }); * const renderer = renderFactory.createRenderer() * renderer.render() * ``` * **/ export declare class RenderFactory { protected readonly options: Options; constructor(options: Options); /** * @returns IRenderer * @example */ createRenderer(): IRenderer; protected renderLit({ element, selector, props, children, template }: LitOptions): void; protected renderReact

| ComponentClass

| ((props: P) => JSX.Element)>({ type, props, children }: ReactOptions): void; protected renderAngular({ type, config, props, children, template, selector }: AngularOptions): PromiseLike>; protected get: { reactChildren: (children: string) => string | JSX.Element | JSX.Element[]; litChildren: (children: string) => import("lit-html/directive").DirectiveResult; }; } export {};