import { Project, RepoRef } from "@atomist/automation-client";
export interface ExposedSecret {
    repoRef: RepoRef;
    /**
     * File path within project
     */
    path: string;
    secret: string;
    description: string;
}
/**
 * Definition of a secret we can find in a project
 */
export interface SecretDefinition {
    /**
     * Regexp for the secret
     */
    pattern: RegExp;
    /**
     * Description of the problem. For example, what kind of secret this is.
     */
    description: string;
}
export interface SnifferOptions {
    scanOnlyChangedFiles: boolean;
    globs: string[];
    secretDefinitions: SecretDefinition[];
    /**
     * Whitelisted secrets
     */
    whitelist: string[];
}
/**
 * Result of sniffing
 */
export interface SniffResult {
    options: SnifferOptions;
    exposedSecrets: ExposedSecret[];
    filesSniffed: number;
    timeMillis: number;
}
/**
 * Sniff this project for exposed secrets.
 * Open every file.
 */
export declare function sniffProject(project: Project, options: SnifferOptions): Promise<SniffResult>;
export declare function sniffFileContent(repoRef: RepoRef, path: string, content: string, opts: SnifferOptions): Promise<ExposedSecret[]>;
//# sourceMappingURL=secretSniffing.d.ts.map