export declare const FACTORY_EMULATOR_SCHEDULER_CANDIDATE_LIMIT = 50; export interface FactorySchedulerToken { readonly tokenId: string; readonly customerWork: boolean; readonly processing: boolean; readonly queuedElapsedMs: number; readonly lastDispatchElapsedMs?: number; } export interface FactorySchedulerResourceClaim { readonly name: string; readonly capacity: number; } export interface FactorySchedulerCandidate { readonly transitionId: string; readonly workerId: string; readonly workstationKind: "logical" | "normal"; readonly tokens: readonly FactorySchedulerToken[]; readonly resources: readonly FactorySchedulerResourceClaim[]; readonly value: Value; } /** Go-compatible Work-in-queue ordering for the emulator's supported subset. */ export declare function compareFactorySchedulerCandidates(left: FactorySchedulerCandidate, right: FactorySchedulerCandidate): number; /** Selects one deterministic batch while preventing double token consumption. */ export declare function selectFactorySchedulerCandidates(candidates: readonly FactorySchedulerCandidate[], limit?: number, availableResources?: Readonly>): readonly FactorySchedulerCandidate[];