import type { MarkerId } from '../../marker'; import type { NamedResourceData } from '../../storage'; import { Summary } from './summary'; export type TopicId = string; export type RefString = string; export type TopicAttributes = { ref?: RefString; labels?: string[]; note?: string; markers?: MarkerId[]; }; export declare class Topic { readonly id: TopicId; readonly ref: RefString | null; readonly title: string; private _children; private _summaries; private _markers; private _labels; private _image; private _note; constructor(title: string, attributes?: TopicAttributes, children?: Topic[]); get children(): ReadonlyArray; get summaries(): ReadonlyArray; get labels(): ReadonlyArray; get note(): Readonly; set note(newNote: string | null); get markers(): ReadonlyArray; get image(): NamedResourceData | null; query(identifier: TopicId | RefString): Topic | null; addTopic(title: string, attributes?: TopicAttributes): Topic; addLabel(label: string): void; addImage(imageData: NamedResourceData): void; addMarker(markerId: MarkerId): void; addSummary(title: string, from: TopicId | number, to: TopicId | number, summaryTopic: Topic): Summary | null; }