import * as i0 from '@angular/core'; import { OnDestroy } from '@angular/core'; import { Router } from '@angular/router'; /** * Component representing a document. * A document can contain multiple sections, which are represented by DocumentContentComponent instances. */ declare class DocumentComponent implements OnDestroy { private readonly _documentService; readonly sections: i0.WritableSignal; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Component representing a section of a document. * A section can be nested inside another section, allowing for a hierarchical structure of the document. * Each section can have a header and an optional header ID, which can be used for linking to specific sections of the document. */ declare class DocumentSectionComponent implements OnDestroy { /** * The child sections of this section. This allows for nested sections within a document. */ readonly sections: i0.WritableSignal; /** * The DocumentComponent instance that this section belongs to. */ readonly document: DocumentComponent | null; /** * The parent DocumentSectionComponent instance that this section belongs to, if any. * This allows for nested sections within a document. */ readonly parent: DocumentSectionComponent | null; /** * The header of the section, which can be used as a title for the section. */ readonly header: i0.InputSignal; /** * An optional ID for the section header, which can be used for linking to specific sections of the document. */ readonly headerId: i0.InputSignal; /** * A computed property that generates a header ID based on the header text if the header ID is not explicitly provided. * It converts the header text to lowercase, replaces non-alphanumeric characters with underscores, and trims leading/trailing underscores. * If neither the header ID nor the header text is provided, it returns undefined. */ readonly computedHeaderId: i0.Signal; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Service for managing the current document being displayed. */ declare class DocumentService { /** * The current document being displayed. This can be undefined if no document is currently loaded. */ readonly document: i0.WritableSignal; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * Component representing the table of contents of a document. * The table of contents is generated based on the sections of the document, and allows for easy navigation to different sections of the document. */ declare class DocumentTableOfContentComponent { protected readonly _router: Router; protected readonly _documentService: DocumentService; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class DocumentModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { DocumentComponent, DocumentModule, DocumentSectionComponent, DocumentService, DocumentTableOfContentComponent };