import { Outgoing } from '../interfaces'; export type Sayable = string | Outgoing.Message; export declare abstract class SayableSayer { say(sayable: Sayable): Promise; say(sayable: Sayable, atAll: true): Promise; say(sayable: Sayable, mentionList: string[]): Promise; protected abstract send(message: Outgoing.Message): Promise; protected mention(message: Outgoing.Message): Outgoing.Message; protected mention(message: Outgoing.Message, atAll: true): Outgoing.Message; protected mention(message: Outgoing.Message, mentionList: string[]): Outgoing.Message; protected atAll(message: Outgoing.Message): Outgoing.Message; protected atUserIds(message: Outgoing.Message, userIds: string[]): Outgoing.Message; protected resolve(sayable: Sayable): Promise; }