export {};
/**
 *  All Types of Appreciations to be setted on an item
 * @public
 * @enum {string}
 * @readonly
 */
declare enum Appreciation {
    /** Applause */
    Applause = "applause",
    /** Doubt */
    Doubt = "doubt",
    /** Fantastic */
    Fantastic = "fantastic",
    /** Happy */
    Happy = "happy",
    /** Like */
    Like = "like",
    /** None (no appreciation) */
    None = "none"
}
/**
 * @class
 * @name Channel
 * @public
 * @description
 *  This class is used to represent a channel
 */
declare class Channel {
    name: string;
    id: string;
    visibility: string;
    topic: string;
    creatorId: string;
    companyId: string;
    creationDate: Date;
    users_count: number;
    lastAvatarUpdateDate: Date;
    subscribed: boolean;
    type: string;
    invited: boolean;
    category: string;
    mode: string;
    subscribers_count: number;
    serverURL: string;
    max_items: number;
    max_payload_size: number;
    pageIndex: number;
    isLoading: boolean;
    complete: boolean;
    users: any[];
    publishersRetreived: boolean;
    loaded: boolean;
    avatar: string;
    userRole: string;
    messageRetrieved: boolean;
    messages: any[];
    deleted: boolean;
    mute: boolean;
    enable_comments: boolean;
    max_comments: number;
    max_payload_comment_size: number;
    additionDate: boolean;
    lastCheckDate: string;
    max_payload_size_comment: number;
    /**
     * @this Channel
     */
    constructor(_name: string, _id: string, _visibility: string, _topic: string, _creatorId: string, _companyId: string, _creationDate: Date, _users_count: number, _lastAvatarUpdateDate: Date, _subscribed: boolean, _type: string, _invited: boolean, _category: string, _mode: string, _subscribers_count: number, _serverURL: string, _max_items: number, _max_payload_size: number, _pageIndex: number, _isLoading: boolean, _complete: boolean, _users: any[], _publishersRetreived: boolean, _loaded: boolean, _avatar: string, _userRole: string, _messageRetrieved: boolean, _messages: any[], _deleted: boolean, _mute: boolean, _enable_comments: boolean, _max_comments: number, _max_payload_comment_size: number, _additionDate: boolean, _lastCheckDate: string, _max_payload_size_comment: number);
    isNotMember(): string;
    isOwner(): boolean;
    isPublisher(): boolean;
    isMember(): boolean;
    getAvatarSrc(): string;
    /**
     * @function
     * @public
     * @name updateChannel
     * @description
     * This method is used to update a channel from data object
     */
    updateChannel(data: any): this;
    /**
     * @function
     * @public
     * @name ChannelFactory
     * @description
     * This method is used to create a channel from data object
     */
    static ChannelFactory(): (data: any, serverURL: string) => Channel;
}
export { Channel, Appreciation };
