import { IAdvice } from '@eggjs/tegg-types';
import type { ControllerTypeLike, EggProtoImplClass, MiddlewareFunc } from '@eggjs/tegg-types';
export default class ControllerInfoUtil {
    static addControllerMiddleware(middleware: MiddlewareFunc, clazz: EggProtoImplClass): void;
    static addControllerAopMiddleware(middleware: EggProtoImplClass<IAdvice>, clazz: EggProtoImplClass): void;
    static getControllerMiddlewares(clazz: EggProtoImplClass): MiddlewareFunc[];
    static getControllerAopMiddlewares(clazz: EggProtoImplClass): EggProtoImplClass<IAdvice>[];
    static setControllerType(clazz: EggProtoImplClass, controllerType: ControllerTypeLike): void;
    static setControllerName(clazz: EggProtoImplClass, controllerName: string): void;
    static getControllerName(clazz: EggProtoImplClass): string | undefined;
    static getControllerType(clazz: any): ControllerTypeLike | undefined;
    static setControllerAcl(code: string | undefined, clazz: EggProtoImplClass): void;
    static hasControllerAcl(clazz: EggProtoImplClass): boolean;
    static getControllerAcl(clazz: EggProtoImplClass): string | undefined;
    static addControllerHosts(hosts: string[], clazz: EggProtoImplClass): void;
    static getControllerHosts(clazz: EggProtoImplClass): string[] | undefined;
    static setControllerTimeout(timeout: number, clazz: EggProtoImplClass): void;
    static getControllerTimeout(clazz: EggProtoImplClass): number | undefined;
}
