import { WalineComment, WalineCommentStatus } from '@waline/api'; import { Accessor, Setter } from 'solid-js'; import { WalineCommentSorting } from '../waline/typings'; export declare const sortingMethods: WalineCommentSorting[]; interface ReactiveCommentData { /** * User Nickname */ nick: string; /** * User link */ link?: string; /** * Content of comment */ comment: Accessor; /** * Parent comment id */ pid?: number; /** * Root comment id */ rid?: number; /** * User id being at */ at?: string; /** * Recaptcha Token */ recaptchaV3?: string; /** * Reply user information */ reply_user?: { nick: string; link: string; avatar: string; }; } export interface ReactiveComment extends Exclude { avatar: string; /** * User type */ type?: 'administrator' | 'guest' | `verify:${string}`; objectId: number; /** * Time ISOString when the comment is created */ children: Accessor; sticky?: boolean; browser?: string; os?: string; level?: number; addr?: string; label?: string; time: number; user_id?: string | number; status?: WalineCommentStatus; like: Accessor; orig: Accessor; setLike: Setter; setChildren: Setter; setComment: Setter; setOrig: Setter; } export declare function makeDataReactive(data: WalineComment): ReactiveComment; export declare function makeDatasReactive(datas: WalineComment[]): ReactiveComment[]; declare const commentListState: { status: Accessor<"error" | "loading" | "success">; sorting: Accessor; page: Accessor; count: Accessor; data: Accessor; totalPages: Accessor; setStatus: Setter<"error" | "loading" | "success">; setSorting: Setter; setPage: Setter; setCount: Setter; setData: Setter; setTotalPages: Setter; }; export declare function getCommentData(page: number): void; export declare function loadMore(): void; export declare function refresh(): void; export declare function deleteComment(id: number): void; export default commentListState;