import { LDContext, LDEvaluationDetail, LDLogger } from '@launchdarkly/js-sdk-common';
import { Hook } from '../integrations';
export default class HookRunner {
    private readonly _logger;
    private readonly _hooks;
    constructor(_logger: LDLogger | undefined, hooks: Hook[]);
    withEvaluationSeries(key: string, context: LDContext, defaultValue: unknown, methodName: string, method: () => Promise<LDEvaluationDetail>): Promise<LDEvaluationDetail>;
    /**
     * This function allows extra information to be returned with the detail for situations like
     * migrations where a tracker is returned with the detail.
     */
    withEvaluationSeriesExtraDetail(key: string, context: LDContext, defaultValue: unknown, methodName: string, method: () => Promise<{
        detail: LDEvaluationDetail;
        [index: string]: any;
    }>): Promise<{
        detail: LDEvaluationDetail;
        [index: string]: any;
    }>;
    private _tryExecuteStage;
    private _hookName;
    private _executeAfterEvaluation;
    private _executeBeforeEvaluation;
    private _prepareHooks;
    addHook(hook: Hook): void;
}
//# sourceMappingURL=HookRunner.d.ts.map