import { Configuration } from "@atomist/automation-client/lib/configuration";
import { EventFired, HandleEvent } from "@atomist/automation-client/lib/HandleEvent";
import { HandlerContext } from "@atomist/automation-client/lib/HandlerContext";
import { HandlerResult } from "@atomist/automation-client/lib/HandlerResult";
import { PreferenceStoreFactory } from "../../../../api/context/preferenceStore";
import { ChannelLinkListener } from "../../../../api/listener/ChannelLinkListenerInvocation";
import { CredentialsResolver } from "../../../../spi/credentials/CredentialsResolver";
import { ProjectLoader } from "../../../../spi/project/ProjectLoader";
import { RepoRefResolver } from "../../../../spi/repo-ref/RepoRefResolver";
import * as schema from "../../../../typings/types";
/**
 * A new channel has been linked to a repo
 */
export declare class OnChannelLink implements HandleEvent<schema.OnChannelLink.Subscription> {
    private readonly projectLoader;
    private readonly repoRefResolver;
    private readonly listeners;
    private readonly credentialsFactory;
    private readonly preferenceStoreFactory;
    configuration: Configuration;
    constructor(projectLoader: ProjectLoader, repoRefResolver: RepoRefResolver, listeners: ChannelLinkListener[], credentialsFactory: CredentialsResolver, preferenceStoreFactory: PreferenceStoreFactory);
    handle(event: EventFired<schema.OnChannelLink.Subscription>, context: HandlerContext): Promise<HandlerResult>;
}
//# sourceMappingURL=OnChannelLink.d.ts.map