How to make my own Asset type?

For example what makes UTexture or other asset class, to be an asset class?
How can i create my own asset class? Where i can then use properties with AssetRegistrySearchable specifier.

As i suppose, i need to edit constructor of FAssetTools to add new asset types. And also i need to implement FAssetTypeActions_Base interface per asset type.