import { EApiRouteType } from '../../../enum/decorator/api/route';
import { IApiBaseEntity } from '../../../interface/api-base-entity.interface';
import { IApiSubscriberFunctionErrorExecutionContext } from '../../../interface/class/api/subscriber/function/error-execution-context.interface';
import { IApiSubscriberFunctionExecutionContext } from '../../../interface/class/api/subscriber/function/execution/context';
import { IApiSubscriberRouteErrorExecutionContext } from '../../../interface/class/api/subscriber/route/error-execution-context.interface';
import { IApiSubscriberRouteExecutionContext } from '../../../interface/class/api/subscriber/route/execution/context';
import { EApiFunctionType, EApiSubscriberOnType } from '../../../enum/decorator/api';
export declare class ApiSubscriberExecutor {
    static executeFunctionBeforeSubscribers<E extends IApiBaseEntity, TResult, TInput>(constructor: new (...arguments_: Array<unknown>) => unknown, entity: E, functionType: EApiFunctionType, context: IApiSubscriberFunctionExecutionContext<E, TResult, TInput>, action?: string): Promise<TResult | undefined>;
    static executeFunctionErrorSubscribers<E extends IApiBaseEntity, TInput>(constructor: new (...arguments_: Array<unknown>) => unknown, entity: E, functionType: EApiFunctionType, onType: EApiSubscriberOnType, context: IApiSubscriberFunctionErrorExecutionContext<E, TInput>, error: Error, action?: string): Promise<void>;
    static executeFunctionSubscribers<E extends IApiBaseEntity, TResult, TInput>(constructor: new (...arguments_: Array<unknown>) => unknown, entity: E, functionType: EApiFunctionType, onType: EApiSubscriberOnType, context: IApiSubscriberFunctionExecutionContext<E, TResult, TInput>, action?: string): Promise<TResult | undefined>;
    static executeRouteErrorSubscribers<E extends IApiBaseEntity, TInput>(constructor: new (...arguments_: Array<unknown>) => unknown, entity: E, routeType: EApiRouteType | undefined, onType: EApiSubscriberOnType, context: IApiSubscriberRouteErrorExecutionContext<E, TInput>, error: Error, action?: string): Promise<void>;
    static executeRouteSubscribers<E extends IApiBaseEntity, TResult, TInput>(constructor: new (...arguments_: Array<unknown>) => unknown, entity: E, routeType: EApiRouteType | undefined, onType: EApiSubscriberOnType, context: IApiSubscriberRouteExecutionContext<E, TResult, TInput>, action?: string): Promise<TResult | undefined>;
    private static assertFunctionSubscribersTransactionExpectation;
    private static assertFunctionSubscriberTransactionExpectation;
    private static hasFunctionSubscriberHook;
    private static resolveEntityName;
    private static resolveFunctionSubscriberEventManager;
    private static resolveHookName;
}
