Type Alias Device<A, Criteria, Options>

Device<A, Criteria, Options>: A["length"] extends 0
    ? Options["$notMatch"]
    : A extends readonly [infer Head, ...(infer Tail)]
        ? ElementMatch<Head, Criteria, TypePlusOptions.Merge<{
            $notMatch: TuplePlus.Find.Device<Tail, Criteria, Options>;
        }, Options>>
        : never

Type Parameters