export declare function waitFor<A>(predictor: () => boolean | any, producer: () => A, interval?: number): Promise<A>;
export declare function wait<A>(args: {
    for: () => A;
    interval?: number;
} | {
    when: () => boolean | any;
    then: () => A;
    interval?: number;
}): Promise<A>;
export declare function later(ms?: number): Promise<unknown>;
/** @alias `later(ms?)` */
export declare const sleep: typeof later;
export declare function runLater<A>(f: () => A, ms?: number): Promise<A>;
