/** * A `PromiseLike` helper which exposes its `resolve` and `reject` methods. * * Trigger is CancellationScope-aware: it is linked to the current scope on * construction and throws when that scope is cancelled. * * Useful for e.g. waiting for unblocking a Workflow from a Signal. * * @example * ```ts * import { defineSignal, setHandler, sleep, Trigger } from '@temporalio/workflow'; * * const completeUserInteraction = defineSignal('completeUserInteraction'); * * export async function waitOnUser(userId: string): Promise { * const userInteraction = new Trigger(); * * // programmatically resolve Trigger * setHandler(completeUserInteraction, () => userInteraction.resolve(true)); * * const userInteracted = await Promise.race([userInteraction, sleep('30 days')]); * if (!userInteracted) { * await sendReminderEmail(userId); * } * } * ``` */ export declare class Trigger implements PromiseLike { readonly resolve: (value: T | PromiseLike) => void; readonly reject: (reason?: any) => void; protected readonly promise: Promise; constructor(); then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): PromiseLike; }