declare type IfEquals = (() => T extends X ? 1 : 2) extends (() => T extends Y ? 1 : 2) ? A : B; declare type WritableProps = Pick; }[keyof T]>; export declare type ItemOptions any> = { [Q in keyof WritableProps>]: InstanceType[Q]; }; export declare class Item { /** * @internal * @deprecated You're probably looking for `Item.from()` */ constructor(); static from(this: new () => T, options: ItemOptions T>): T; } export declare abstract class Factory = R> { private item; constructor(item: (new () => R)); create(options: T): R; } export {}; //# sourceMappingURL=item.d.ts.map