import { IConversationServices } from '../interface/IConversationServices';
import { IWAChatServerConfig } from '../interface/IWAChatServerConfig';
import { ConversationService } from './ConversationService/ConversationService';
export declare class ConversationServices implements IConversationServices {
    private serviceArray;
    private fs;
    private config;
    private services;
    private schemasOnFS;
    constructor(serviceArray: Array<ConversationService>, fs: Record<string, any>, config: IWAChatServerConfig);
    addServices(...services: Array<ConversationService>): ConversationServices;
    getObligatorySchemas(): Set<string>;
    getOptionalSchemas(): Set<string>;
    absolutePath(path: string): string;
    getSchemasOnFS(): Promise<Set<string>>;
    isSchemaOnFS(path: string): Promise<boolean>;
    getSchemaAsStr(path: string): Promise<string>;
    /**
     * Regístters all conversation services present on the filesystem
     */
    registerAllServices(): Promise<void>;
    /**
     * Registers the service by name; the name is entered without the class name
     * prefix 'ConversationService'
     */
    registerService(serviceName: string): Promise<void>;
    getServiceByName(serviceName: string): ConversationService;
    getServices(): Array<ConversationService>;
    private initServiceMap;
}
