import { MessageApp } from './message-app.js';
import { MessageConversation } from './message-conversation.js';
import { MessageUser } from './message-user.js';

/**
 *
 * An interface representing MessageActionsPayloadFrom.
 * Represents a user, application, or conversation type that either sent or was
 * referenced in a message.
 *
 */
type MessageFrom = {
    /**
     * @member {MessageActionsPayloadUser} [user] Represents details of the user.
     */
    user?: MessageUser;
    /**
     * @member {MessageActionsPayloadApp} [application] Represents details of the
     * app.
     */
    application?: MessageApp;
    /**
     * @member {MessageActionsPayloadConversation} [conversation] Represents
     * details of the converesation.
     */
    conversation?: MessageConversation;
};

export type { MessageFrom };
