import type { ExecutionEndingRequest, ExecutionInfo, ExecutionStartingRequest, ExecutionStatusResponse, ScenarioExecutionEndingRequest, ScenarioExecutionStartingRequest, SpecExecutionEndingRequest, SpecExecutionStartingRequest, StepExecutionEndingRequest, StepExecutionStartingRequest } from "../gen/messages_pb"; import type { HookMethod } from "../models/HookMethod"; import type { HookType } from "../models/HookType"; import { ExecutionProcessor } from "./ExecutionProcessor"; export type HookExectionRequest = ExecutionStartingRequest | SpecExecutionStartingRequest | ScenarioExecutionStartingRequest | StepExecutionStartingRequest | StepExecutionEndingRequest | ScenarioExecutionEndingRequest | SpecExecutionEndingRequest | ExecutionEndingRequest; export declare abstract class HookExecutionProcessor extends ExecutionProcessor { protected abstract hookType: HookType; protected abstract getExecutionInfo(req: HookExectionRequest): ExecutionInfo; protected abstract getApplicableHooks(req: HookExectionRequest): Array; process(req: HookExectionRequest): Promise; private executeHooks; private getExecutionContext; private toSpec; private toScenario; private toStepInfo; }