This is a TypeScript feature called declaration merging. TypeScript has separate value and type namespaces, so a const (value) and a type can share the same name without conflict.
export const HelloTest = { hello: 'test' };
export type HelloTest = typeof HelloTest[keyof typeof HelloTest];
When importing TypeScript will figure out which you are using based on the context.
I’m not sure I like this in practice but very interesting.