import type { IApiBaseEntity } from '../../../interface/api-base-entity.interface';
import type { IApiSubscriberFunction } from '../../../interface/class/api/subscriber/function.interface';
import type { IApiSubscriberRoute } from '../../../interface/class/api/subscriber/route.interface';
import type { IApiFunctionSubscriberProperties, IApiRouteSubscriberProperties } from '../../../interface/decorator/api/subscriber/index';
declare class ApiSubscriberRegistry {
    private readonly FUNCTION_SUBSCRIBERS;
    private readonly ROUTE_SUBSCRIBERS;
    constructor();
    getFunctionSubscribers<E extends IApiBaseEntity>(entityName: string): Array<IApiSubscriberFunction<E>>;
    getRouteSubscribers<E extends IApiBaseEntity>(entityName: string): Array<IApiSubscriberRoute<E>>;
    registerFunctionSubscriber<E extends IApiBaseEntity>(properties: IApiFunctionSubscriberProperties<E>, subscriber: IApiSubscriberFunction<E>): void;
    registerRouteSubscriber<E extends IApiBaseEntity>(properties: IApiRouteSubscriberProperties<E>, subscriber: IApiSubscriberRoute<E>): void;
}
export declare const apiSubscriberRegistry: ApiSubscriberRegistry;
export {};
