import { Handler, MicroserviceConfig, MicroserviceMethodConfig } from '../types/index.js';
type StoredMicroserviceClassMethod<T, R> = {
    method: Handler<T, R>;
    config: {
        name?: string;
    } & Omit<MicroserviceMethodConfig<T, R>, 'handler'>;
};
type StoredMicroserviceClass = {
    target: unknown;
    config: Omit<MicroserviceConfig, 'methods'>;
    methods: StoredMicroserviceClassMethod<any, any>[];
};
declare class ClassStorage {
    readonly items: StoredMicroserviceClass[];
    ensureClassAdded(target: unknown): StoredMicroserviceClass;
    ensureClassMethodAdded<T, R>(targetClass: unknown, classMethod: Handler<T, R>): StoredMicroserviceClassMethod<T, R>;
    getConfig<T extends object>(target: T): MicroserviceConfig | undefined;
}
export declare const storage: ClassStorage;
export {};
