///
import { Model } from "./model";
import { User } from "./user";
import { BaseWall } from "./base_wall";
import { AccessControl } from "./access_control";
import { Wallable } from "./wallable";
import { Like } from "./like";
import { CommentPost } from "./comment_post";
import { Comment } from "./comment";
import moment = require('moment');
import Set = jest.Set;
export declare enum ActionType {
Publish = "PUBLISH"
}
export declare class Feed extends Model implements Wallable {
type: string;
action?: string;
access_control?: AccessControl.Private | AccessControl.Friend | AccessControl.Public;
summary?: string;
private _actor;
private _object;
private _target;
matchs: Set;
stats: Map>;
id: string;
target: BaseWall;
object: BaseWall;
actor: User;
created_date: string;
readonly createdDate: moment.Moment;
readonly bodyMessage: string;
readonly bodyImageUrl: string;
readonly bodyImageText: string;
readonly payload: {};
addLike(): Promise;
getLikes(): Promise;
deleteLike(): Promise;
addComment(comment: CommentPost): Promise;
getComments(): Promise;
abuse(): Promise;
ignore(): Promise;
delete(): Promise;
save(): Promise;
setBodyMessage(message: string): Feed;
setAccessControl(ac: AccessControl): Feed;
setPayload(payload: {}): Feed;
}