/** * An immutable compiled factory. Definitions never mutate after compilation; * `modify` produces a replacement rather than editing an existing one. Parent and * trait references are resolved lazily at evaluation time, so a child may be * declared before its parent. */ export default class FactoryDefinition { /** @type {string} - Factory name. */ name: string; /** @type {(new (attributes?: Record>) => ReturnType) | null} - Model class or null. */ modelClass: (new (attributes?: Record>) => ReturnType) | null; /** @type {string | null} - Parent factory name or null. */ parentName: string | null; /** @type {Array} - Alias names. */ aliases: Array; /** @type {Array} - Ordered own declarations. */ declarations: Array; /** @type {Map} - Factory-local traits. */ localTraits: Map; /** * Builds a factory definition. * @param {object} args - Options. * @param {string} args.name - Factory name. * @param {(new (attributes?: Record>) => ReturnType) | null} args.modelClass - Model class, or null to inherit from a parent. * @param {string | null} args.parentName - Parent factory name, or null. * @param {string[]} args.aliases - Alias names that reference this same definition. * @param {import("./declarations.js").Declaration[]} args.declarations - Ordered own declarations. * @param {Map} args.localTraits - Factory-local traits keyed by name. */ constructor({ name, modelClass, parentName, aliases, declarations, localTraits }: { name: string; modelClass: (new (attributes?: Record>) => ReturnType) | null; parentName: string | null; aliases: string[]; declarations: import("./declarations.js").Declaration[]; localTraits: Map; }); } //# sourceMappingURL=factory-definition.d.ts.map