import { Logger } from '@anglr/common';
import { DynamicModule } from '../../interfaces';
import { DynamicModuleDataExtractorFn } from './dynamicModuleDataExtractor.interface';
/**
 * Extractor used for extracting dynamic data from dynamic module
 */
export declare class DynamicModuleDataExtractor<TData = any> {
    protected _extractorFunctions: DynamicModuleDataExtractorFn[];
    protected _logger?: Logger | undefined;
    /**
     * Creates new instance of DynamicModuleDataExtractor
     * @param _extractorFunctions - Array of extractor functions used to create result
     * @param _logger - Instance of logger used for logging, optional
     */
    constructor(_extractorFunctions: DynamicModuleDataExtractorFn[], _logger?: Logger | undefined);
    /**
     * Tries to extract dynamic data from dynamic module
     * @param module - Module containing dynamic data
     */
    tryToExtract(module: DynamicModule): Promise<TData | null>;
}
//# sourceMappingURL=dynamicModuleDataExtractor.service.d.ts.map