import type { ControllerMetadata, EggPrototypeName, MiddlewareFunc } from '@eggjs/tegg-types';
import { ControllerType } from '@eggjs/tegg-types';
import { WebSocketFetchMethodMeta } from './WebSocketFetchMethodMeta';
export declare class WebSocketFetchControllerMeta implements ControllerMetadata {
    readonly protoName: EggPrototypeName;
    readonly controllerName: string;
    readonly className: string;
    readonly type = ControllerType.WEBSOCKET_FETCH;
    readonly path?: string;
    readonly middlewares: readonly MiddlewareFunc[];
    readonly methods: readonly WebSocketFetchMethodMeta[];
    readonly hosts?: string[];
    readonly timeout?: number;
    readonly connectionMethod?: WebSocketFetchMethodMeta;
    readonly openMethod?: WebSocketFetchMethodMeta;
    readonly errorMethod?: WebSocketFetchMethodMeta;
    readonly closeMethod?: WebSocketFetchMethodMeta;
    constructor(className: string, protoName: EggPrototypeName, controllerName: string, path: string | undefined, middlewares: MiddlewareFunc[], methods: WebSocketFetchMethodMeta[], hosts: string[] | undefined, connectionMethod: WebSocketFetchMethodMeta | undefined, openMethod: WebSocketFetchMethodMeta | undefined, errorMethod: WebSocketFetchMethodMeta | undefined, closeMethod: WebSocketFetchMethodMeta | undefined, timeout?: number);
    getMethodRealPath(method: WebSocketFetchMethodMeta): string;
    getMethodHosts(method: WebSocketFetchMethodMeta): string[] | undefined;
    getMethodName(method: WebSocketFetchMethodMeta): string;
    getMethodMiddlewares(method: WebSocketFetchMethodMeta): MiddlewareFunc[];
    getMethodTimeout(method: WebSocketFetchMethodMeta): number | undefined;
}
