export interface Privates<T, U extends object> {
(instance: U): T;
<V extends T>(instance: U): V;
init(instance: U, privates: T): void;
init<V extends T>(instance: U, privates: V): void;
}
export default function makePrivates<T, U extends object>(): Privates<T, U>;