import { Duration } from "../utils/duration"; import { SessionTo } from "../session"; import JvmPaces = io.gatling.javaapi.core.pause.Paces; export interface PaceFunction> { /** * Attach a pace action * * @param duration - the duration of the pace, in seconds or with an explicit time unit * @returns a new StructureBuilder */ (duration: Duration): T; /** * Attach a pace action where the duration is defined as a Gatling Expression Language string. This expression must * resolve to either a number, then the unit will be seconds, or an object with an explicit time unit. * * @param duration - the duration of the pace * @returns a new StructureBuilder */ (duration: string): T; /** * Attach a pace action * * @param duration - the duration of the pace as a function * @returns a new StructureBuilder */ (duration: SessionTo): T; /** * Attach a pace action * * @param duration - the duration of the pace, in seconds or with an explicit time unit * @param counterName - the name of the loop counter, as stored in the Session * @returns a new StructureBuilder */ (duration: Duration, counterName: string): T; /** * Attach a pace action where the duration is defined as a Gatling Expression Language string. This expression must * resolve to either a number, then the unit will be seconds, or an object with an explicit time unit. * * @param duration - the duration of the pace * @param counterName - the name of the loop counter, as stored in the Session * @returns a new StructureBuilder */ (duration: string, counterName: string): T; /** * Attach a pace action * * @param duration - the duration of the pace as a function * @param counterName - the name of the loop counter, as stored in the Session * @returns a new StructureBuilder */ (duration: SessionTo, counterName: string): T; /** * Attach a pace action where the duration is random between 2 bounds * * @param min - the duration of the pace, in seconds or with an explicit time unit * @param max - the duration of the pace, in seconds or with an explicit time unit * @returns a new StructureBuilder */ (min: Duration, max: Duration): T; /** * Attach a pace action where the duration is random between 2 bounds * * @param min - the duration of the pace as a function * @param max - the duration of the pace as a function * @returns a new StructureBuilder */ (min: SessionTo, max: SessionTo): T; /** * Attach a pace action where the duration is random between 2 bounds * * @param min - the duration of the pace, in seconds or with an explicit time unit * @param max - the duration of the pace, in seconds or with an explicit time unit * @param counterName - the name of the loop counter, as stored in the Session * @returns a new StructureBuilder */ (min: Duration, max: Duration, counterName: string): T; /** * Attach a pace action where the duration is random between 2 bounds as Gatling Expression Language strings. These * expressions must resolve to either a number, then the unit will be seconds, or an object with an explicit time unit. * * @param min - the duration of the pace * @param max - the duration of the pace * @param counterName - the name of the loop counter, as stored in the Session * @returns a new StructureBuilder */ (min: string, max: string, counterName: string): T; /** * Attach a pace action where the duration is random between 2 bounds * * @param min - the duration of the pace as a function * @param max - the duration of the pace as a function * @param counterName - the name of the loop counter, as stored in the Session * @returns a new StructureBuilder */ (min: SessionTo, max: SessionTo, counterName: string): T; } export interface Paces> { pace: PaceFunction; } export declare const paceImpl: , T extends Paces>(jvmGroups: J1, wrap: (wrapped: J2) => T) => PaceFunction;