import Base from '../Base';
import type { MessageData } from '../../resources/structs';
import type Client from '../Client';
import type ClientPartyMember from './party/ClientPartyMember';
import type ClientUser from './user/ClientUser';
import type Friend from './friend/Friend';
import type PartyMember from './party/PartyMember';
/**
 * Represents a message
 */
declare abstract class BaseMessage extends Base {
    /**
     * The message's content
     */
    content: string;
    /**
     * The message's author
     */
    author: Friend | PartyMember | ClientPartyMember | ClientUser;
    /**
     * The message creation date
     */
    sentAt: Date;
    /**
     * The message's id
     */
    id: string;
    /**
     * @param client The main client
     * @param data The message's data
     */
    constructor(client: Client, data: MessageData);
}
export default BaseMessage;
