import type { RandomOptions, RandomTrace } from '../../shared/random'; export interface YarrowChange { initial: number; left: number; right: number; hanging: 1; leftRemainder: number; rightRemainder: number; removed: number; remaining: number; } export interface YarrowLine { changes: YarrowChange[]; value: 6 | 7 | 8 | 9; } export interface YarrowOptions extends RandomOptions { /** 十八变分堆记录,每项为挂一前左堆策数,按初爻至上爻排列。 */ splits?: readonly number[]; } export interface YarrowResult { lines: YarrowLine[]; yaos: (6 | 7 | 8 | 9)[]; samplingModel: '余数等概率,类内分堆等概率' | '手工分堆'; randomTrace?: RandomTrace; } /** 《周易衍义》四十九策,分二挂一揲四归奇,三变一爻,十八变成卦。 */ export declare function generateYarrow(options?: YarrowOptions): YarrowResult;