import { A } from "free-types-core"; import { Fn, Output, Param } from "../../types.js"; import { $Accessor, $Iterator } from "./types.js"; import { $Done, $GetValue } from "./Tuple.js"; import { Parameters, Prev } from "../../utils.js"; export { $Fn }; interface $Fn, ReturnType]> extends $Iterator { value: $GetValue

; path: $GetPath>; done: $Done

; } interface $GetPath extends $Accessor { type: A extends Last ? [Output] : [Param>]; }