import { Domain } from '../../../schemas/domain'; import { IContainer } from '../../../di/resolvers'; import { ServiceDescription } from './serviceDescription'; import { OperationDefinition, HandlerDefinition } from '../definitions'; export interface Handler { name: string; methodName: string; handler: any; definition: OperationDefinition; kind: "action" | "query" | "event"; verb?: string; } export declare class ServiceDescriptors { private container; private domain; static nativeTypes: string[]; private descriptions; private publicDescriptions; private handlers; private routes; private defaultSchema; constructor(container: IContainer, domain: Domain); getDescriptions(includeSystemService?: boolean): ServiceDescription; getHandlerInfo(container: IContainer | undefined, schema: string, action: string): Handler; private createHandlersTable(); private checkScopes(scopes, metadata, verb); private getOrCreateSchemaDescription(schemas, schemaName, defaultValue?); private addDescription(desc, pdesc); private updateDescription(schemas, schema, desc); private getPropertyType(name); private sortSchemasDependencies(); /** * Register an handler * @param container * @param domain * @param target * @param actions * @param handlerDefinition * @param kind */ register(container: IContainer, domain: Domain, target: Function, actions: any, handlerDefinition: HandlerDefinition, kind: "action" | "query"): void; }