import { InvocationContext, InvocationResult, ValueOrPromise } from '@loopback/core';
import { CurrentContext } from '../services/application.service';
import { ApplicationService } from './../services/application.service';
import { AbstractEntityInterceptorInterface } from './abstract-entity-interceptor.service';
import { AbstractInterceptor } from './abstract.interceptor';
export declare abstract class AbstractEntityInterceptor<T extends AbstractEntityInterceptorInterface> extends AbstractInterceptor {
    protected abstractEntityService: T;
    protected ctx: CurrentContext;
    protected applicationService: ApplicationService;
    constructor(abstractEntityService: T, ctx: CurrentContext, applicationService: ApplicationService);
    value(): (invocationCtx: InvocationContext, next: () => any) => Promise<any>;
    intercept(invocationCtx: InvocationContext, next: () => ValueOrPromise<InvocationResult>): Promise<any>;
}
