interface joinOptions { /** * Delimiter to join with * (default=' ') * eg: join(['hello', 'world', {delim: '_'}]) -> 'hello_world' */ delim?: string; /** * Dedupe the provided array while joining or not? * (default=false) * eg: join(['val_a', 'val_b', 'val_'a], {dedupe: true, delim:','}) -> 'val_a,val_b' */ dedupe?: boolean; /** * Trim after joining or not * (default=true) * eg: join([' hello', 'world '], {trim: true}) -> 'hello world' */ trim?: boolean; /** * Trim internals of values or not * (default=false) * eg: join([' hello world', 'this is ', 'Peter'], {innertrim: true, trim: true}) -> 'hello world this is peter' */ innertrim?: boolean; /** * Automatically trim all string values * (default=true) * eg: join([' hello ', ' world '], {valtrim: true}) -> 'hello world' */ valtrim?: boolean; /** * Automatically round all numeric values * (default=false) * eg: join([5.432, 'world', 1.2], {valround: 1}) -> '5.4 world 1.2' */ valround?: number; } /** * Join an array of values while autofiltering any non-string/non-number elements * * @param {T[]|Set} val - Array or Set of values to join * @param {joinOptions?} opts - Join options */ declare function join(val: T[] | Set, opts?: joinOptions): string; export { join, join as default };