import { Observable } from 'rxjs';
import { MetadataScanner } from '../app';
import { CleanGateway } from '../contracts';
export interface MessageMappingProperties {
    message: any;
    methodName: string;
    callback: (...args: any[]) => Observable<any> | Promise<any> | any;
}
export declare class GatewayMetadataExplorer {
    private readonly metadataScanner;
    constructor(metadataScanner: MetadataScanner);
    explore(instance: CleanGateway): MessageMappingProperties[];
    exploreMethodMetadata(instancePrototype: object, methodName: string): MessageMappingProperties;
    scanForServerHooks(instance: CleanGateway): IterableIterator<string>;
}
//# sourceMappingURL=gateway-metadata-explorer.d.ts.map