import type { Binding, Container, TBindingKey } from '../../helpers/inversion/index.js'; import type { IConfigurable, ValueOrPromise } from '@venizia/ignis-helpers/common'; import { BaseHelper } from '@venizia/ignis-helpers/core'; type TInitDefault = { enable: false; } | { enable: true; container: Container; }; export declare abstract class BaseComponent extends BaseHelper implements IConfigurable { protected bindings: Record; protected initDefault: TInitDefault; protected isConfigured: boolean; /** What `application.component(Ctor, { options })` handed this instance, set before `binding()` runs. Optional, not defaulted to `{}`: a component registered through `configs.artifacts` gets no options and uses `??` to fall back to its binding, which an empty object would silently defeat. */ options?: ConfigurableOptions; constructor(opts: { scope: string; initDefault?: TInitDefault; bindings?: Record; }); abstract binding(): ValueOrPromise; /** Override this, not the field, to resolve options lazily. */ getOptions(): ConfigurableOptions | undefined; protected initDefaultBindings(opts: { container: Container; }): void; configure(opts?: ConfigurableOptions): Promise; } export {}; //# sourceMappingURL=base.d.ts.map