//#region src/context/validation-helpers.d.ts
type Primitive = string | number | boolean | bigint | symbol | null | undefined | Date;
type JoinDot<P extends string, K$1 extends string> = [P] extends [''] ? K$1 : `${P}.${K$1}`;
type DotPaths<T, P extends string = ''> = [T] extends [Primitive] ? P : T extends ReadonlyArray<infer U> ? P | DotPaths<U, `${P}[${number}]`> | DotPaths<U, `${P}[*]`> : T extends Array<infer U> ? P | DotPaths<U, `${P}[${number}]`> | DotPaths<U, `${P}[*]`> : T extends object ? P | { [K in Extract<keyof T, string>]: DotPaths<T[K], JoinDot<P, K>> }[Extract<keyof T, string>] : P;
//#endregion
export { DotPaths };