import type { ExperienceCheck, ExperienceCheckCallback, ExperienceCheckResult } from './ExperienceCheck';
export type ExperienceCheckTimeoutConfig = {
    /**
     * Maximum duration in milliseconds before timing out
     */
    durationMs: number;
    /**
     * Optional callback to provide custom result on timeout
     *
     * If not provided, or callback returns undefined, defaults to failure with experienceFailureReason 'timeout'
     */
    onTimeout?: () => ExperienceCheckResult | undefined;
};
/**
 * Check for the completion of an experience based on a timeout
 *
 * By default, will result in failure with reason 'timeout' after the specified duration.
 *
 * Can be customized for different results on timeout via the onTimeout callback.
 */
export declare class ExperienceCheckTimeout implements ExperienceCheck {
    private timeoutId;
    private durationMs;
    private onTimeout;
    constructor({ durationMs, onTimeout, }: ExperienceCheckTimeoutConfig);
    start(callback: ExperienceCheckCallback): void;
    stop(): void;
}
