//#region src/helper.d.ts type RequiredKeysOf = Exclude<{ [Key in keyof BaseType]: BaseType extends Record ? Key : never }[keyof BaseType], undefined>; type HasRequiredKeys = RequiredKeysOf extends never ? false : true; type Prettify = { [K in keyof T]: T[K] } & {}; type IsEmptyObject = keyof T extends never ? true : false; type UnionToIntersection = (Union extends unknown ? (distributedUnion: Union) => void : never) extends ((mergedIntersection: infer Intersection) => void) ? Intersection & Union : never; type MergeObject | never, S extends Record | never> = T extends never ? S : S extends never ? T : T & S; type InferParamPath = Path extends `${infer _Start}:${infer Param}/${infer Rest}` ? { [K in Param | keyof InferParamPath]: string } : Path extends `${infer _Start}:${infer Param}` ? { [K in Param]: string } : Path extends `${infer _Start}/${infer Rest}` ? InferParamPath : {}; type InferParamWildCard = Path extends `${infer _Start}/*:${infer Param}/${infer Rest}` | `${infer _Start}/**:${infer Param}/${infer Rest}` ? { [K in Param | keyof InferParamPath]: string } : Path extends `${infer _Start}/*` ? { [K in "_"]: string } : Path extends `${infer _Start}/${infer Rest}` ? InferParamWildCard : {}; //#endregion export { HasRequiredKeys, InferParamPath, InferParamWildCard, IsEmptyObject, MergeObject, Prettify, RequiredKeysOf, UnionToIntersection }; //# sourceMappingURL=helper.d.cts.map