import { Configuration } from "@atomist/automation-client";
import { PushImpactListener, SoftwareDeliveryMachine } from "@atomist/sdm";
import { ProjectAnalyzer } from "@atomist/sdm-pack-analysis";
import { ClientFactory } from "../analysis/offline/persist/pgUtils";
import { ProjectAnalysisResultStore } from "../analysis/offline/persist/ProjectAnalysisResultStore";
import { IdealStore, ProblemStore } from "../aspect/AspectRegistry";
/**
 * Add scanners to the analyzer to extract data
 * @param {SoftwareDeliveryMachine} sdm
 * @return {ProjectAnalyzer}
 */
export declare function createAnalyzer(sdm: SoftwareDeliveryMachine): ProjectAnalyzer;
export declare function sdmConfigClientFactory(config: Configuration): ClientFactory;
export declare function analysisResultStore(factory: ClientFactory): ProjectAnalysisResultStore & IdealStore & ProblemStore;
export declare function updatedStoredAnalysisIfNecessary(opts: {
    analyzedRepoStore: ProjectAnalysisResultStore;
    analyzer: ProjectAnalyzer;
    maxAgeHours: number;
}): PushImpactListener<any>;
//# sourceMappingURL=machine.d.ts.map