Typechecking: Descriptions

I have one question about typechecking in studio, how do you add descriptions like roblox does to functions? for example, the Udim2 function has a description that changes based on which parameter you have selected. But to be clear, I know how to do this in a basic function, just add a comment on top. But in this scenario I have, I don’t believe this is possible. So basically, I would have 4 modules. One being a ‘Configuration’ module that holds paths to other modules like this:

local Config = {}

Config.testing = script.Parent.Test

return Config

This allows for me to only have to change the paths in this module instead of in tons of scripts. This comes with one issue though, typechecking doesnt happen. So I also have this module:

export type test = {
	print: (msg : string) -> ()
}


return {}

Now, I can add typechecking by just requiring that module, and doing Types[requirename]. (just so you can see the module here):

local Testing = {}

function Testing.print(msg : string)
	
	print(msg)
	
end

return Testing

Next, I have the actual requirement script:

local Types = require(script.Parent.Types)

local test : types.test = require(Config.Testing)

test.print("Hello World!")

whenever i use test, it should autofill the functions, which it now does, but whenever i actually select something, a description of that function should appear like: “prints a message”. One more question i have is that roblox has messages that change with parameters, like the Udim2 example, so how could i do that as well. Is this even possible? (Haven’t found any tutorials or things explaining how to do this)

why are the code blocks all like that :sob:

there can’t be any other text on the same line as ```, that’s why it’s messed up (for the code blocks thing)