import { Direction } from 'generate-maze-ts'; import { Result } from './Assemblies'; import { Finder } from './Finder'; import { Room } from './Room'; export declare type FinderProcessor = (finder: Finder, tickIndex: number, findersCount: number) => Direction; export declare type WholeTickCallback = (room: Room, tickIndex: number) => void; export declare type FinderTickCallback = (tickIndex: number, finder: Finder, moveResult: Result) => void; export interface SimulationResult { ticksElapsed: number; exitFounded: boolean; finderWinnerId?: number; } interface RunSimulationArgs { room: Room; finderProcessor: FinderProcessor; wholeTickCallback?: WholeTickCallback; finderTickCallback?: FinderTickCallback; maxTicksCount?: number; } export declare function runSimulation(args: RunSimulationArgs): SimulationResult; export {};