export declare const OPENLINEAGE_SPEC_VERSION = "0.19.0"; export type EventType = 'START' | 'COMPLETE' | 'FAIL' | 'ABORT'; export interface LineageDataset { namespace: string; name: string; facets?: Record; } export interface LineageJob { namespace: string; name: string; facets?: Record; } export interface LineageRun { runId: string; facets?: Record; } export interface LineageEvent { eventType: EventType; eventTime: string; producer: string; schemaURL: string; job: LineageJob; run: LineageRun; inputs?: LineageDataset[]; outputs?: LineageDataset[]; } export interface EmitterConfig { enabled?: boolean; url?: string; namespace?: string; fetch?: typeof fetch; onError?: (err: unknown) => void; } /** * Resolve config from args → env → disabled default. Env vars follow the * OpenLineage standard (OPENLINEAGE_URL, OPENLINEAGE_NAMESPACE) plus our * opt-out flag DQL_OPENLINEAGE_DISABLED. */ export declare function resolveConfig(partial?: EmitterConfig): Required> & Pick; export declare class OpenLineageEmitter { private readonly cfg; constructor(cfg: ReturnType); emit(event: Omit): Promise; /** * Convenience for the common block-run case: emits START then COMPLETE * around a synchronous or async handler. On throw, emits FAIL and * re-throws so the caller still sees the error. */ wrap(job: LineageJob, runId: string, io: { inputs?: LineageDataset[]; outputs?: LineageDataset[]; }, handler: () => Promise | T): Promise; } export declare function createEmitter(cfg?: EmitterConfig): OpenLineageEmitter; export { buildEventsFromManifest, datasetNames, emitProjectSnapshot, jobNames, type BuildEventsOptions, type ManifestBlockProjection, type ManifestDataLexContractProjection, type ManifestDbtModelProjection, type ManifestProjection, } from './manifest-events.js'; //# sourceMappingURL=index.d.ts.map