import type { RefString } from './internal/model/topic'; import type { MarkerId } from './marker'; import type { NamedResourceData } from './storage'; export declare function Topic(title: string): TopicBuilder; export declare function Relationship(title: string, attributes: { from: string; to: string; }): RelationshipBuilder; export declare function Sheet(title?: string): SheetBuilder; export declare function Summary(title: string, attributes: { from: string | number; to: string | number; }): SummaryBuilder; export declare function RootTopic(title: string): RootTopicBuilder; export declare function Workbook(rootBuilder: ReadonlyArray | RootTopicBuilder): { archive: () => Promise; }; export type WorkbookBuilder = { archive(): Promise; }; interface BaseTopicBuilder { ref: (ref: RefString) => this; children: (topicBuilders: ReadonlyArray) => this; image: (data: NamedResourceData) => this; note: (newNote: string) => this; labels: (labels: ReadonlyArray) => this; markers: (markers: ReadonlyArray) => this; } export interface TopicBuilder extends BaseTopicBuilder { summaries: (summaries: ReadonlyArray) => this; } export interface RootTopicBuilder extends BaseTopicBuilder { sheetTitle: (title: string) => this; relationships: (relationships: ReadonlyArray) => this; summaries: (summaries: ReadonlyArray) => this; } export interface SummaryBuilder extends BaseTopicBuilder { } export interface SheetBuilder { rootTopic: (topicBuilder: TopicBuilder) => this; relationships: (relationships: ReadonlyArray) => this; title: (sheetTitle: string) => this; } export interface RelationshipBuilder { } export {};