import { default as ExecuteController } from '../../tts-controller';
import { TaskExecuteContext } from '../types';
import { InterfaceHandler } from './index';
import { default as HandlerLife } from './life-handler';
declare abstract class BaseHandler<O, R> extends HandlerLife implements InterfaceHandler<O, R> {
    nextHandler: InterfaceHandler<R, unknown> | null;
    prevHandler: InterfaceHandler<unknown, O> | null;
    executeController: ExecuteController | null;
    abstract handlerStatus: any;
    isFirstExecute: boolean;
    setExecuteController(executeController: ExecuteController): void;
    linkHandler(nextHandler: InterfaceHandler<R, unknown>): void;
    get isLastHandler(): boolean;
    get isFirstHandler(): boolean;
    abstract handle(original: O | null): void;
    forwardToHandler(result: R): void;
    setHandlerStatus(status: any): void;
    equalHandlerStatus(status: any): boolean;
    abstract execute(context: TaskExecuteContext): void;
    isHandleDataAcceptedComplete: boolean;
}
export default BaseHandler;
