import type { ServiceHandlerContext } from './service-handler-context'; /** * definition of the service handler. */ export type ServiceHandlerFactory = (context: ServiceHandlerContext) => ServiceHandler & T; export type AsyncServiceHandlerFactory = (context: ServiceHandlerContext) => Promise; export interface ServiceHandler { /** * name of the service. e.g. 'typescript-compiler' */ name?: string; /** * version of the service. optional. */ version?: () => string; } export type ReduceFactoryCallback = (acc: T, value: T) => ServiceHandler & T; export declare function reduceServiceHandlersFactories(factories: ServiceHandlerFactory[], callback: ReduceFactoryCallback): ServiceHandlerFactory;