import { Actor } from './src/actor'; import { Question } from './src/question'; import { Task as ScreenPlayTask } from './src/task'; export { Actor, AbilityFactory } from './src/actor'; export * from './src/task'; export * from './src/question'; export { AbilityRequestError, UnsupportedTaskError } from './src/errors'; export * from './src/cypress'; declare global { namespace Cypress { interface Chainable { /** * Initiate with a different actor. * * Allows to set a customized actor with specialised abilities. * * @param actor * An actor that will be used for all interactions. */ initiateActor(actor: Actor): Chainable; /** * Initiate with a past and a present actor. * * Set specific actors for past, present or future gherkin steps. * * @param past * An actor that will be used for past interactions (Given steps) * @param present * An actor that will be used for present and future interactions (When/Then steps) */ initiateActor(past: Actor, present: Actor): Chainable; /** * Initiate with past, preset and future actors. * * Set specific actors for past, present or future gherkin steps. * * @param past * An actor that will be used for past interactions (Given steps) * @param present * An actor that will be used for present interactions (When steps) * @param future * An actor that will be used for future interactions (Then steps) */ initiateActor(past: Actor, present: Actor, future: Actor): Chainable; /** * Perform a given task. * * @param task * The task implementation. * @param param * The tasks parameter. */ perform

(task: ScreenPlayTask

, param: P): Chainable; /** * Ask a question. * * The questions result will be returned as a chainable. * * @param question * The question implementation. * @param param * Question parameter. */ ask(question: Question, param: P): Chainable; } } } type StepDefinition = (expression: RegExp | string, implementation: (...args: string[]) => void) => void; export declare const Given: StepDefinition; export declare const When: StepDefinition; export declare const Then: StepDefinition;