import type { EventBus } from "@bluecadet/launchpad-utils/event-bus"; import type { Logger } from "@bluecadet/launchpad-utils/logger"; import type { ResolvedContentConfig } from "./content-config.js"; import type { DataStore } from "./utils/data-store.js"; import type { PathsHelper } from "./utils/paths-helper.js"; export declare class ContentError extends Error { constructor(...args: ConstructorParameters); } export type ContentTransformContext = { data: DataStore; logger: Logger; contentOptions: ResolvedContentConfig; /** * Path helpers for the current fetch run. * `getDownloadPath` resolves to the staged run output and is promoted to the * published download path only after the run succeeds. * `getTempPath` is pre-bound to this transform's name * (e.g. `.launchpad/tmp/runs///`). */ paths: PathsHelper; /** * Event bus for transforms that need to emit TTY progress events (e.g. mediaDownloader, sharp). * Transforms should NOT emit `content:transform:*` lifecycle events — those are handled by * the runTransformsStage loop. The event bus is provided for TTY progress (log:tty) only. */ eventBus: EventBus; /** Abort signal for the current run. */ abortSignal: AbortSignal; /** Working directory for the current run. */ cwd: string; }; export type ContentTransform = { name: string; apply: (ctx: ContentTransformContext) => Promise; }; /** Type-safe factory for content transforms. */ export declare function defineContentTransform(transform: ContentTransform): ContentTransform; //# sourceMappingURL=content-transform.d.ts.map