import { Fn } from '../Fn'; import { Invoke } from '../module'; import { HandleNever, IfInvoking, Input } from '../utils'; export interface Filter> extends Fn { out: IfInvoking>, K['in'][]>; } export type InvokeFilter, List extends K['in'][]> = Internal; type Internal, Array extends K['in'][], Acc extends K['in'][]> = Array extends [infer First extends K['in'], ...infer Rest extends K['in'][]] ? Internal> extends true ? [...Acc, HandleNever] : Acc> : Acc; export {};