import { SlackMessage } from "@atomist/slack-messages";
import { GraphClient } from "../graph/GraphClient";
import { Destination, MessageClient, MessageOptions, SlackMessageClient } from "./MessageClient";
export declare abstract class MessageClientSupport implements MessageClient {
    respond(msg: any, options?: MessageOptions): Promise<any>;
    send(msg: any, destinations: Destination | Destination[], options?: MessageOptions): Promise<any>;
    protected abstract doSend(msg: any, destinations: Destination[], options?: MessageOptions): Promise<any>;
}
export declare const Query = "\nquery ChatTeam {\n  ChatTeam {\n    id\n  }\n}";
export declare class DefaultSlackMessageClient implements MessageClient, SlackMessageClient {
    private delegate;
    private graphClient;
    constructor(delegate: MessageClient, graphClient: GraphClient);
    respond(msg: any, options?: MessageOptions): Promise<any>;
    send(msg: any, destinations: Destination | Destination[], options?: MessageOptions): Promise<any>;
    addressUsers(msg: string | SlackMessage, users: string | string[], options?: MessageOptions): Promise<any>;
    addressChannels(msg: string | SlackMessage, channels: string | string[], options?: MessageOptions): Promise<any>;
}
export declare function lookupChatTeam(graphClient: GraphClient): Promise<string>;
//# sourceMappingURL=MessageClientSupport.d.ts.map