type PrefixWithIs = `is${Capitalize}`; type DetectFn = (ua?: string) => boolean; type MaybeArray = T | T[]; type RemoveArrayType = T extends (infer U)[] ? U : T; type EvenType = RegExp[]; type OddType = (string | [string, string | ((match: any) => string)] | [string, RegExp | string | ((match: string, q2: any) => string), any] | [string, RegExp, string, (matchReplaced: string) => string])[]; type RegexMap = (RegExp | string | (Record | string | RegExp | Function)[])[][]; export type { DetectFn, EvenType, MaybeArray, OddType, PrefixWithIs, RegexMap, RemoveArrayType };