import type { Bud } from '@roots/bud-framework'; import type { Base } from './base.js'; /** * Loader interface * * @remarks * Contains the path to the loader source. * Loader options are associated with the loader using the {@link @roots/bud-Bud#Item} interface */ export interface Loader extends Base { _app: () => Bud; app: Bud; /** * Get src */ getSrc(): string; /** * Set src * @param src - string */ setSrc(src: ((app: Bud) => string) | string): Loader; /** * Loader source factory */ src: string; } export type Constructor = ((app: Bud) => string) | string;