import type { Override } from '../type/index.js'; import type { Print, Printable } from './Printable.js'; export interface JoinOptions { /** * Separator * * @defaultValue `''` (empty string) */ separator: Printable; } export interface DefaultJoinOptions extends JoinOptions { separator: ''; } export declare const defaultJoinOptions: DefaultJoinOptions; export type Join = {}> = Join_; export type Join_ = partialOptions extends Partial ? T extends readonly Printable[] ? Join._Rec> : T : never; export declare namespace Join { type _Rec = Arr extends readonly [ infer H, infer HH, ...infer T ] ? `${Print}${options['separator']}${_Rec}` : Arr extends readonly [infer H] ? Print : ''; } declare module "../TypeAliases-augmentation" { interface TypeAliases2<_1, _2> { Join: Join_<_1, _2>; } interface TypeAliases1<_1> { JoinWithDots: Join_<_1, { separator: '.'; }>; JoinWithSlashes: Join_<_1, { separator: '/'; }>; } } export declare function join>(strings: Strings, partialOptions: PartialOptions): Join; //# sourceMappingURL=Join.d.ts.map