import { Processor, type Reader } from "@rdfc/js-runner";
import { Extract } from "./extractor.js";
import { IndexBulkOperations, Repository } from "./repositories/Repository.js";
export type IngestSDSArgs = {
    data: Reader;
    metadata: Reader;
    database: DBConfig;
};
export type DBConfig = {
    url: string;
    metadata: string;
    data: string;
    index: string;
};
export declare class IngestSDS extends Processor<IngestSDSArgs> {
    repository: Repository;
    recordCount: number;
    init(this: IngestSDSArgs & this): Promise<void>;
    transform(this: IngestSDSArgs & this): Promise<void>;
    produce(this: IngestSDSArgs & this): Promise<void>;
    processData(iterable: AsyncIterable<string>): Promise<void>;
    processMetadata(iterable: AsyncIterable<string>): Promise<void>;
    handleRecords(extract: Extract, operations: IndexBulkOperations): Promise<void>;
    handleBuckets(extract: Extract, operations: IndexBulkOperations): Promise<void>;
    handleRelations(extract: Extract, operations: IndexBulkOperations): Promise<void>;
}
