import { Background } from '../../components/background';
import { IRunner, Constructable } from './base.runner';
import { ICheckout } from '../../external-checkout';
import { IDispatcherData } from '../../components/dispatcher';
export declare enum RUNNER_EVENT {
    SUCCESS = "success",
    DECLINED = "declined",
    CLOSE = "close",
    REFERRED = "referred",
    ERROR = "error"
}
export interface IContextualRunner extends IRunner {
    run(): void;
    isRunning(): boolean;
    continue(): void;
    stop(): void;
    onStop(cb: () => void): void;
    onCheckout<T extends IDispatcherData>(event: string, cb: (checkout: ICheckout, data?: T) => void): void;
    setBackgroundTitle(text: string): void;
    setBackgroundDescription(text: string): void;
    turnOffBackdrop(): void;
    setSuspendedRedirectUri(uri: string): void;
}
export declare function ContextualRunner<BR extends Constructable>(Runner?: BR): {
    new (...args: any[]): {
        background: Background;
        suspendedRedirectUri: string;
        continue(): void;
        stop(): void;
        error(error: string, code: string, callback: any): void;
        setSuspendedRedirectUri(uri: string): void;
        setBackgroundTitle(text: string): void;
        setBackgroundDescription(text: string): void;
        turnOffBackdrop(): void;
        widgetEnv: import("../../configs/env").Env;
        setEnv(env: string, alias?: string): void;
    };
} & BR;
//# sourceMappingURL=contextual.runner.d.ts.map