/** * Class level @Fixture decorator. * * This decorator is needed to get access to class Constructor, * that in turn is needed to build POM inheritance graph using prototype chain. * Method decorators don't have access to Constructor in decoration phase, * only in runtime (that is too late). * * There was idea to use the following way of creating decorators, * that eliminates usage of @Fixture: * const { Given, When, Then } = createBddDecorators(test, { pomFixture: 'myPOM' }); * But due to above reason it's not possible. * Also it leads to cyclic dependencies: fixture imports test, and test imports fixture. */ import { TestType } from '@playwright/test'; import { KeyValue, PwBuiltInFixturesTest } from '../../playwright/types'; type AvailableFixtures = T extends TestType ? U : T; type CustomTestFixtureName = Exclude, keyof PwBuiltInFixturesTest | number | symbol>; type FixtureOptions = { name?: CustomTestFixtureName; tags?: string; }; export declare function Fixture(arg: CustomTestFixtureName | FixtureOptions): (Ctor: Function, _context: ClassDecoratorContext) => void; export {}; //# sourceMappingURL=fixture.d.ts.map