import { ErrorSys, ModelRulesC } from '@63pokupki/components/lib';
import { P63Context } from './P63Context';
import { UserSys } from './UserSys';
/**
 * Система логическая система
 * Логические функции управления приложением
 */
export declare class LogicSys {
    protected errorSys: ErrorSys;
    protected userSys: UserSys;
    protected ctx: P63Context;
    constructor(ctx: P63Context);
    /**
     * Включить кеш редиса
     */
    fCacheOn(): void;
    /**
     * Выключить кеш редиса
     */
    fCacheOff(): void;
    /**
     * Логический блок
     * @param sError - Сообщение об ощибке
     * @param callback - функция содержащая логическую операцию
     */
    ifOk(sError: string, callback: Function): Promise<any>;
    /**
     * Блок для валидации входных данных
     * Выбрасывает ошибку в случае не правильности данных
     */
    fValidData<RequestT>(vModelRules: ModelRulesC, data: RequestT): RequestT;
    /**
     * Блок для генерации ошибки без индексирования в API
     * @param error
     */
    fThrowNoIndex(error: Error): Error;
}
