import { Dayjs } from 'dayjs'; import { OriginDrawItem } from '../rule/utils/utils'; import { DrawQuotaItem } from '../deposit'; import { IRule } from '../rule/core/RuleCompile'; /** * 按照某个唯一ID进行识别 * @param list * @param func * @returns */ export declare function groupById(list: T[], func: (item: T) => string): Record; type LotteryListRequest = (begin: Dayjs, end: Dayjs) => Promise>; /** * 报告的参数 */ type ReportParams = { begin: Dayjs; end: Dayjs; ruleList: IRule[]; deptRuleList: IRule[]; filterTypes?: string[]; filterIds?: any[]; }; export declare class Mock { lotteryListRequest: LotteryListRequest; constructor(lotteryListRequest: LotteryListRequest); /** * 批量计算所有规则一天的数据量 * @param param0 * @returns [ 每一天所有的算法的量 ] */ quotaRules({ rules, begin, deptRuleList, end, }: { rules: any[]; deptRuleList: any[]; begin: Dayjs; end: Dayjs; }): Promise>>; /** * 计算模拟某一个算法的批量投注的成果 * 1: 计算该算法的情况,这边要计算所有的,然后选择其中一个 * // 自动剪裁无用的算法,剪裁无用的依赖 */ execute({ ruleId, depositStrategy, depositRuleConfig, basePrice, rules, begin, deptRuleList, end }: { ruleId: any; depositStrategy: any; depositRuleConfig: any; basePrice: any; rules: any; begin: any; deptRuleList: any; end: any; }): Promise<{ date: string; totalWinAmount: number; orderCount: number; depositList: { winAmount: number; winCount: number; id: number; buyNumbers: number[]; price: number; total: number; taskMax?: number | undefined; numbers: number[]; }[]; }[]>; /** * 计算规则列表的时间报告 * @param param0 * @returns */ report({ begin, end, ruleList, deptRuleList, filterTypes, filterIds }: ReportParams): Promise<{ fileName: string; date: string; header: string[]; rankGroup: any[]; rankContent: number[][]; fileContent: any[][]; }[]>; /** * 数据转换函数 * @param ruleList * @param days * @param result * @param begin * @returns */ private reportHandle; } export {};