import { BaseEvent } from './events/BaseEvent.js';
import { Transport } from './transports/TransportInterface.js';
/**
 * OpenLineageClient is responsible for emitting events to a specified transport.
 */
export declare class OpenLineageClient {
    transport: Transport | null;
    /**
     * Constructs an OpenLineageClient instance.
     * @param transport - A custom transport implementation (optional).
     */
    constructor(transport?: Transport | null);
    /**
     * Emits an event using the configured transport.
     * @param event - The event to emit.
     * @returns A promise that resolves when the event is successfully emitted.
     */
    emit<T>(event: BaseEvent): Promise<T>;
}
