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 { UserJoiningChannelListener } from "../../../../api/listener/UserJoiningChannelListener";
import { CredentialsResolver } from "../../../../spi/credentials/CredentialsResolver";
import { RepoRefResolver } from "../../../../spi/repo-ref/RepoRefResolver";
import * as schema from "../../../../typings/types";
/**
 * A user joined a channel
 */
export declare class OnUserJoiningChannel implements HandleEvent<schema.OnUserJoiningChannel.Subscription> {
    private readonly listeners;
    private readonly repoRefResolver;
    private readonly credentialsFactory;
    private readonly preferenceStoreFactory;
    configuration: Configuration;
    constructor(listeners: UserJoiningChannelListener[], repoRefResolver: RepoRefResolver, credentialsFactory: CredentialsResolver, preferenceStoreFactory: PreferenceStoreFactory);
    handle(event: EventFired<schema.OnUserJoiningChannel.Subscription>, context: HandlerContext): Promise<HandlerResult>;
}
//# sourceMappingURL=OnUserJoiningChannel.d.ts.map