/**
 * Extracts the public shape of a class
 */
export declare type Interface<T> = {
    [P in keyof T]: T[P];
};
export declare type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
export interface ClassType<InstanceType extends {} = {}> extends Function {
    new (...args: any[]): InstanceType;
    prototype: InstanceType;
}
