Уже существует предопределенный условный тип, который позволяет извлекать тип экземпляра из типа класса, называемый InstanceType
class A { private x: any}
type AInstance = InstanceType<typeof A> // same as A
Определение этого типа:
type InstanceType<T extends new (...args: any) => any> = T extends new (...args: any) => infer R ? R : any;