import { TacoFileParserName } from '../../../shared/enums/taco-file-parser';
import { AuthResult } from '../../../shared/types/auth-result';
import { FileBasedHandlerInput } from '../../../shared/types/handler-input';
import { NetworkAdapter } from '../../modules/network-adapter';
import { TempDataManager } from '../../modules/temp-data-manager';
import { ExtractorOptions } from '../../types/extractor-options';
import { HandlerMetadata } from './handler-resolver';
import { SandboxPipeline } from './sandbox-pipeline';
import { CsvTacoParser } from '../handlers/taco-parser/csv-parser';
import { TacoFileParser as FileParser } from '../handlers/taco-parser/base-taco-file-parser';
import { ExcelTacoParser } from '../handlers/taco-parser/excel-parser';
interface FileBasedHandlerConfig {
    auth: HandlerMetadata | undefined;
    fetcher: HandlerMetadata;
    parser: TacoFileParserName;
}
export type FileBasedPipelineResult = {
    type: 'excel';
    parser: ExcelTacoParser;
} | {
    type: 'single-table';
    tableName: string;
    parser: FileParser;
};
export declare class FileBasedPipeline extends SandboxPipeline {
    private readonly handlerInput;
    protected handlerConfig: FileBasedHandlerConfig;
    constructor(handlerInput: FileBasedHandlerInput<unknown>, extractorId: string, extractorOptions: ExtractorOptions, tempDataManager: TempDataManager, networkAdapter: NetworkAdapter);
    run(): Promise<FileBasedPipelineResult>;
    protected runDataGatheringPhase(authResult: AuthResult): Promise<void>;
    protected resolveHandlers(): FileBasedHandlerConfig;
    /**
     * Register parser for filed-based handler input
     * @param handlerInputs
     */
    private processFileBasedParser;
    protected loadHandlers(): Promise<void>;
}
export declare function createTacoFileParser(tableName: string, parser: string, extractorId: string, tempDataManager: TempDataManager): import("../handlers/taco-parser/parquet-parser").ParquetTacoParser | import("../handlers/taco-parser/csv-duckdb-parser").CsvDuckdbTacoParser | CsvTacoParser;
export {};
