43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import { FileChild } from '../../file-child';
|
|
import { Relationships } from '../../relationships';
|
|
import { IContext, IXmlableObject, XmlComponent } from '../../xml-components';
|
|
export type ICommentOptions = {
|
|
readonly id: number;
|
|
readonly children: readonly FileChild[];
|
|
readonly initials?: string;
|
|
readonly author?: string;
|
|
readonly date?: Date;
|
|
readonly parentId?: number;
|
|
readonly resolved?: boolean;
|
|
};
|
|
export type ICommentsOptions = {
|
|
readonly children: readonly ICommentOptions[];
|
|
};
|
|
export declare class CommentRangeStart extends XmlComponent {
|
|
constructor(id: number);
|
|
}
|
|
export declare class CommentRangeEnd extends XmlComponent {
|
|
constructor(id: number);
|
|
}
|
|
export declare class CommentReference extends XmlComponent {
|
|
constructor(id: number);
|
|
}
|
|
export declare class Comment extends XmlComponent {
|
|
private readonly paraId?;
|
|
constructor({ id, initials, author, date, children }: ICommentOptions, paraId?: string);
|
|
prepForXml(context: IContext): IXmlableObject | undefined;
|
|
}
|
|
export type ICommentThreadData = {
|
|
readonly paraId: string;
|
|
readonly parentParaId?: string;
|
|
readonly done?: boolean;
|
|
};
|
|
export declare const commentIdToParaId: (id: number) => string;
|
|
export declare class Comments extends XmlComponent {
|
|
private readonly relationships;
|
|
private readonly threadData?;
|
|
constructor({ children }: ICommentsOptions);
|
|
get Relationships(): Relationships;
|
|
get ThreadData(): readonly ICommentThreadData[] | undefined;
|
|
}
|