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>;
