export type ClassPrototype<T> = new (...args: unknown[]) => T;
export type ClassMethodType = (...args: unknown[]) => unknown;
export type MethodKeysOf<T> = {
    [K in keyof T]: T[K] extends ClassMethodType ? K : never;
}[keyof T];
export type PropertyKeysOf<T> = {
    [K in keyof T]: T[K] extends ClassMethodType ? K : never;
}[keyof T];
export interface ClassType<T> {
    new (...args: any[]): T;
    prototype: T;
}
