import { type IPackage } from "../package/package.js"; type SimplePackage = Pick; export interface IApplyArgs { p: SimplePackage; logger: (msg: string) => void; } export type AttachmentFn = (args: IApplyArgs) => Promise; export type Attachments = { [key: string]: AttachmentFn; }; export type AttachmentData = { [K in keyof T]: T[K] extends AttachmentFn ? R : never; }; export interface IClassAttachment { apply: AttachmentFn; } export declare function classToAttachmentFn IClassAttachment>(ctor: C): (...args: ConstructorParameters) => InstanceType["apply"]; export {};