export function basicFilter( tags: string | Tags, ranges: string | Ranges | undefined ): Tags export function extendedFilter( tags: string | Tags, ranges: string | Ranges | undefined ): Tags export function lookup( tags: string | Tags, ranges: string | Ranges | undefined ): string | undefined /** * BCP-47 tag. */ export type Tag = string /** * List of BCP-47 tags. */ export type Tags = Array /** * RFC 4647 range. */ export type Range = string /** * List of RFC 4647 range. */ export type Ranges = Array /** * An internal check. */ export type Check = (tag: Tag, range: Range) => boolean /** * Filter: yields all tags that match a range. */ export type Filter = FilterOrLookup /** * Lookup: yields the best tag that matches a range. */ export type Lookup = FilterOrLookup /** * A check. */ export type FilterOrLookup = ( tags: Tag | Tags, ranges?: Range | Ranges | undefined ) => IsFilter extends true ? Tags : Tag | undefined