import Dexie from "dexie";
export interface FeedDetailProps {
    id: string;
    uid: string;
    text: string;
    isHours24: string;
    type: number;
    authType: number;
    media: any[];
    extra: {
        ids: string[];
    };
    status: number;
    contentType: number;
    createTime: number;
    updateTime: number;
    referRoot?: string;
    referPre?: string;
    referPres?: string[];
}
export interface ApiResponseProps {
    id: string;
    uid: string;
    text: string;
    is_hours24: string;
    type: number;
    auth_type: number;
    media: any[];
    status: number;
    extra: {
        ids: string[];
    };
    create_time: number;
    update_time: number;
    content_type: number;
    refer_root: string;
    refer_pre: string;
    refer_pres: string[];
}
export interface ForwardFeedDetailProps extends FeedDetailProps {
    forwardRoot?: FeedDetailProps | null;
    isForward?: true;
    forwardPresInfo?: FeedDetailProps[] | null;
    breakOff?: boolean;
}
declare class FeedDetailsModel {
    static authorize: boolean;
    private db?;
    private userId?;
    private store?;
    Event: {
        MomentsChange: string;
        MomentsForwardLinkBreak: string;
    };
    Tag: {
        Del: string;
    };
    init(db: Dexie): void;
    bulkPutMoments(list: FeedDetailProps[], singleID?: string): import("dexie").PromiseExtended<void> | undefined;
    updateMomentsDelStatues(ids: string[], status?: number): void;
    getMomentsByIds(ids: string[]): Promise<FeedDetailProps[]>;
    deleteMomentsById(id: string): void;
    deleteBulk(ids: string[]): import("dexie").PromiseExtended<number> | undefined;
    isForwardMoments(item: FeedDetailProps | ApiResponseProps | any): boolean;
    isDeleted(item: FeedDetailProps): boolean;
    filterVisibleMoments(item: FeedDetailProps): boolean;
    publishDeleteNoc(list: any[]): void;
    publish(list: string[] | FeedDetailProps[], tag?: string): void;
    itemTransform({ id, uid, text, is_hours24, type, auth_type, media, status, extra, create_time, update_time, content_type, refer_root, refer_pre, refer_pres, applet_info, }: any): FeedDetailProps;
}
export declare const momentsDetailsModel: FeedDetailsModel;
export default momentsDetailsModel;
