import SuggestionResult = require('../Entity/Suggestion/Result'); import List = require('../Entity/List'); import ResultTypeEnum = require('./ResultTypeEnum'); import SectionEnum = require('../Entity/Section/SectionEnum'); import mongoose = require('mongoose'); export = ResultLoader; declare class ResultLoader { private model; private documentExecutor; static $inject: string[]; constructor(model: mongoose.Model); getById(eShopId: number, id: number, callback: (e: Error, suggestion?: SuggestionResult) => void): void; getListByType(eShopId: number, limit: number, offset: number, type: ResultTypeEnum, callback: (e: Error, suggestion?: List) => void): void; getListByTypeIsMain(eShopId: number, section: SectionEnum, limit: number, offset: number, isMain: boolean, type: ResultTypeEnum, callback: (e: Error, suggestion?: List) => void): void; getCountByType(eShopId: number, type: ResultTypeEnum, callback: (e: Error, count?: number) => void): void; getCountByTypeIsMain(eShopId: number, type: ResultTypeEnum, isMain: boolean, callback: (e: Error, count?: number) => void): void; getListBySituationIdsLimited(situationIds: number[], limit: number, offset: number, callback: (e: Error, recordList?: List) => void): void; getDailyCount(countDays: number, callback: (e: Error, data?: { date: Date; count: number; }[]) => void): void; getListByProductId(eShopId: number, productId: number, type: ResultTypeEnum, callback: (e: Error, list?: List) => void): void; getListByCustomerId(eShopId: number, customerId: number, type: ResultTypeEnum, callback: (e: Error, list?: List) => void): void; getListByChannelId(eShopId: number, channelId: number, type: ResultTypeEnum, callback: (e: Error, list?: List) => void): void; getListByCategoryId(eShopId: number, categoryId: number, type: ResultTypeEnum, callback: (e: Error, list?: List) => void): void; private getList(conditions, callback); private getConditionsByType(type); }