export {};
/**
 * @module
 * @public
 * @name Task
 * @description Task model
 */
/*************************************************************/
/*************************************************************/
/**
 * @function
 * @public
 * @name Task#create
 * @returns {Task} Task object.
 * @description Creates new Task object
 * @param _id Task's Id.
 * @param _title Task's title.
 * @param _creationDate Task's creation date (to be used for personnalNote) If message then use messageTimestamp.
 * @param _done does the Task is done
 * @param _personalNote does the Task is a personnal Note (created by the connected user)
 * @param _peerId peed's Id of a message Task.
 * @param _peerJid peer's Jid of a message Task.
 * @param _conversationJid conversation's Jid of a message Task.
 * @param _messageId message's Id of a message Task.
 * @param _messageTimestamp message's Timestamp of a message Task.
 * @param _text of the Task. (Used for personnal Note)
 */
declare const createTask: (_id: string, _title: string, _creationDate: number, _done: boolean, _personalNote: boolean, _peerId: string, _peerJid: string, _conversationJid: string, _messageId: string, _messageTimestamp: number, _text: string, _position: number, _category: string, _categoryId: string, _type: string) => Task;
/**
 * @class
 * @name Task
 * @public
 * @description
 *      This class is used to represent a Task <br>
 */
declare class Task {
    id: string;
    title: string;
    creationDate: number;
    done: boolean;
    personalNote: boolean;
    peerId: string;
    peerJid: string;
    conversationJid: string;
    messageId: string;
    messageTimestamp: number;
    text: string;
    position: number;
    category: string;
    categoryId: string;
    type: string;
    constructor(_id: string, _title: string, _creationDate: number, _done: boolean, _personalNote: boolean, _peerId: string, _peerJid: string, _conversationJid: string, _messageId: string, _messageTimestamp: number, _text: string, _position: number, _category: string, _categoryId: string, _type: string);
    /**
     * @function
     * @public
     * @name ChannelFactory
     * @description
     * This method is used to create a channel from data object
     */
    static TaskFactory(): (data: any) => Task;
    /**
     * @function
     * @public
     * @name updateChannel
     * @description
     * This method is used to update a channel from data object
     */
    updateTask(data: any): this;
}
export { createTask as createTask, Task as Task };
