import { EApiFunctionSubscriberTransactionExpectation } from '../../../enum/decorator/api';
import { IApiBaseEntity } from '../../../interface/api-base-entity.interface';
import { IApiSubscriberFunction } from '../../../interface/class/api/subscriber/function';
import { TApiSubscriberFunctionBaseBeforeDeleteResult } from '../../../type/class/api/subscriber/function/base/before-delete-result.type';
import { TApiSubscriberFunctionBaseTransactionExpectation } from '../../../type/class/api/subscriber/function/base/transaction-expectation.type';
import { TApiFunctionCreateProperties, TApiFunctionDeleteCriteria, TApiFunctionGetListProperties, TApiFunctionGetManyProperties, TApiFunctionGetProperties, TApiFunctionUpdateProperties } from '../../../type/decorator/api/function';
import { ApiSubscriberBase } from './base.class';
/**
 * Abstract base class for function-level subscribers.
 * @see {@link https://elsikora.com/docs/nestjs-crud-automator/api-reference/classes#apifunctionsubscriberbase | API Reference - ApiFunctionSubscriberBase}
 * @see {@link https://elsikora.com/docs/nestjs-crud-automator/subscriber-system/function-subscribers | Subscriber System - Function Subscribers}
 */
export declare abstract class ApiFunctionSubscriberBase<E extends IApiBaseEntity, BeforeCreateResult extends TApiFunctionCreateProperties<E> = TApiFunctionCreateProperties<E>, BeforeDeleteResultOrTransactionExpectation extends EApiFunctionSubscriberTransactionExpectation | TApiFunctionDeleteCriteria<E> = TApiFunctionDeleteCriteria<E>, BeforeGetResult extends TApiFunctionGetProperties<E> = TApiFunctionGetProperties<E>, BeforeGetListResult extends TApiFunctionGetListProperties<E> = TApiFunctionGetListProperties<E>, BeforeGetManyResult extends TApiFunctionGetManyProperties<E> = TApiFunctionGetManyProperties<E>, BeforeUpdateResult extends TApiFunctionUpdateProperties<E> = TApiFunctionUpdateProperties<E>, TTransactionExpectation extends EApiFunctionSubscriberTransactionExpectation = TApiSubscriberFunctionBaseTransactionExpectation<BeforeDeleteResultOrTransactionExpectation>> extends ApiSubscriberBase implements IApiSubscriberFunction<E, BeforeCreateResult, TApiSubscriberFunctionBaseBeforeDeleteResult<E, BeforeDeleteResultOrTransactionExpectation>, BeforeGetResult, BeforeGetListResult, BeforeGetManyResult, BeforeUpdateResult, TTransactionExpectation> {
}
