import { Project } from "@atomist/automation-client/lib/project/Project"; import { StatefulPushListenerInvocation } from "../dsl/goalContribution"; import { PredicateMapping } from "./PredicateMapping"; /** * Special PushMapping. Return true if we like this push. Used in goal setting etc. */ export interface PushTest extends PredicateMapping { } /** * Test against a project */ export declare type ProjectPredicate = (p: Project) => Promise; /** * Convenient factory function for PushTest instances * @param {string} name * @param mapping test function * @return {PushTest} */ export declare function pushTest(name: string, mapping: (p: StatefulPushListenerInvocation) => Promise): PushTest; /** * PushTest that also exposes the ProjectPredicate it is * based on */ export interface PredicatePushTest extends PushTest { predicate: ProjectPredicate; } /** * Convenient factory function for PushTest instances based on project predicates. * Also exposes project predicate * @param {string} name * @param predicate test function for projects * @return {PushTest} */ export declare function predicatePushTest(name: string, predicate: ProjectPredicate): PredicatePushTest; //# sourceMappingURL=PushTest.d.ts.map