/* eslint-disable @typescript-eslint/no-namespace */ declare namespace Cypress { interface Chainable { hover(selector: string): Chainable; // to support hover custom command /** * Runs the custom 'profile' task and verifies the returned value is within the allowable threshold. * Threshold of .5 and expectedRenderDurationInMs === 100 would allow the render to take up to 50% more, i.e 150ms * @param args - The arguments for the performance verification. * @param args.testName - The name of the test to be used in the profiling * @param args.threshold - The threshold percentage for the performance test (default is 0.5, meaning 50% more than expected) * @param args.expectedRenderDurationInMs - The expected render duration in milliseconds (default is 100ms) * @example * // Verify that the render duration for 'my-test' is within the threshold * cy.verifyPerformance({ * testName: 'my-test', * threshold: 0.5, * expectedRenderDurationInMs: 100 * }); */ verifyPerformance(args: { testName: string; execute: () => Chainable | void; threshold?: number; expectedRenderDurationInMs?: number; }): void; } }