import { SecretsType } from '../../../../shared/types/secrets-type';
import { TableMetadata } from '../../../types/table-metadata';
export interface MetadataEventParams {
    tableName: string;
}
export interface IngestDataEventParams {
    tableName: string;
    metadata: TableMetadata | undefined;
}
export interface IngestorOptions<D = unknown> {
    data: D;
    secrets?: SecretsType;
}
export declare abstract class Ingestor {
    abstract getTables(options: IngestorOptions): Promise<string[]>;
    abstract getMetadata(eventParams: MetadataEventParams, options: IngestorOptions): Promise<TableMetadata | undefined>;
    abstract ingestData(eventParams: IngestDataEventParams, options: IngestorOptions): Promise<void>;
}
