import { StringMap } from '@naturalcycles/js-lib';
import { SlackAttachmentField, SlackMessage, SlackSharedServiceCfg } from './slack.shared.service.model';
export declare class SlackSharedService<CTX = any> {
    private slackServiceCfg;
    constructor(slackServiceCfg: SlackSharedServiceCfg);
    send(text: any, ctx?: CTX): Promise<void>;
    /**
     * Send error.
     */
    error(_err: any, opts?: Partial<SlackMessage>, ctx?: CTX): Promise<void>;
    sendMsg(msg: SlackMessage, ctx?: CTX): Promise<void>;
    /**
     * Mutates msg.
     * To be overridden.
     */
    protected decorateMsg(msg: SlackMessage, ctx?: CTX): Promise<void>;
    kvToFields(kv: StringMap<any>): SlackAttachmentField[];
    /**
     * mutates
     */
    private processKV;
}
