import type { Extensions } from '@tiptap/core'; import { type ReactNode } from 'react'; import type { DocumentContent, EditorAgentRequest, GetDocumentSelectionMenuItems, GetMarkdownSelectionMenuItems, MarkdownContent, OfficeCollaborationPresence, OfficeCollaborationSession, PdfCollaborationContent, PdfPageOrganizationExport, PresentationContent, SpreadsheetContent, SpreadsheetSortCustomListStore } from './core'; import type { OfficeTheme } from './office-surface'; import { type DocumentLayoutFont, type OfficeFileAction, type PdfEvidenceOverlay } from './react'; declare const HTMLElementBase: { new (): HTMLElement; prototype: HTMLElement; }; declare abstract class A3SOfficeElement extends HTMLElementBase { #private; get presence(): OfficeCollaborationPresence | undefined; set presence(value: OfficeCollaborationPresence | undefined); connectedCallback(): void; disconnectedCallback(): void; attributeChangedCallback(): void; protected requestRender(): void; protected abstract editorNode(): ReactNode; private renderReactTree; } declare abstract class A3SContentEditorElement extends A3SOfficeElement { #private; get content(): TContent | undefined; set content(value: TContent | undefined); get fileActions(): readonly OfficeFileAction[] | undefined; set fileActions(value: readonly OfficeFileAction[] | undefined); get preview(): boolean; set preview(value: boolean); get saveStatus(): string | undefined; set saveStatus(value: string | undefined); get theme(): OfficeTheme; set theme(value: OfficeTheme); protected changeContent(value: TContent): void; protected requestAgent(request: EditorAgentRequest): void; } export declare class A3SDocumentEditorElement extends A3SContentEditorElement { #private; static get observedAttributes(): string[]; get artifactId(): string | undefined; get collaboration(): OfficeCollaborationSession | undefined; set collaboration(value: OfficeCollaborationSession | undefined); set artifactId(value: string | undefined); get kernelWasmUrl(): string | undefined; set kernelWasmUrl(value: string | undefined); get extensions(): Extensions | undefined; set extensions(value: Extensions | undefined); get getSelectionMenuItems(): GetDocumentSelectionMenuItems | undefined; set getSelectionMenuItems(value: GetDocumentSelectionMenuItems | undefined); get layoutFonts(): readonly DocumentLayoutFont[] | undefined; set layoutFonts(value: readonly DocumentLayoutFont[] | undefined); protected editorNode(): ReactNode; } export declare class A3SMarkdownEditorElement extends A3SContentEditorElement { #private; static get observedAttributes(): string[]; get collaboration(): OfficeCollaborationSession | undefined; set collaboration(value: OfficeCollaborationSession | undefined); get extensions(): Extensions | undefined; set extensions(value: Extensions | undefined); get getSelectionMenuItems(): GetMarkdownSelectionMenuItems | undefined; set getSelectionMenuItems(value: GetMarkdownSelectionMenuItems | undefined); protected editorNode(): ReactNode; } export declare class A3SSpreadsheetEditorElement extends A3SContentEditorElement { #private; static get observedAttributes(): string[]; get kernelWasmUrl(): string | undefined; get collaboration(): OfficeCollaborationSession | undefined; set collaboration(value: OfficeCollaborationSession | undefined); set kernelWasmUrl(value: string | undefined); get sortCustomListStore(): SpreadsheetSortCustomListStore | undefined; set sortCustomListStore(value: SpreadsheetSortCustomListStore | undefined); protected editorNode(): ReactNode; } export declare class A3SPresentationEditorElement extends A3SContentEditorElement { #private; static get observedAttributes(): string[]; get kernelWasmUrl(): string | undefined; get collaboration(): OfficeCollaborationSession | undefined; set collaboration(value: OfficeCollaborationSession | undefined); set kernelWasmUrl(value: string | undefined); protected editorNode(): ReactNode; } export declare class A3SPdfViewerElement extends A3SOfficeElement { #private; static get observedAttributes(): string[]; get evidenceOverlay(): PdfEvidenceOverlay | undefined; set evidenceOverlay(value: PdfEvidenceOverlay | undefined); get collaboration(): OfficeCollaborationSession | undefined; set collaboration(value: OfficeCollaborationSession | undefined); get loadSource(): (() => Promise) | undefined; set loadSource(value: (() => Promise) | undefined); get onCollaborationChange(): ((content: PdfCollaborationContent) => void) | undefined; set onCollaborationChange(value: ((content: PdfCollaborationContent) => void) | undefined); get onSave(): ((pdf: Blob) => Promise) | undefined; set onSave(value: ((pdf: Blob) => Promise) | undefined); get onPageExport(): ((files: readonly PdfPageOrganizationExport[]) => boolean | Promise) | undefined; set onPageExport(value: ((files: readonly PdfPageOrganizationExport[]) => boolean | Promise) | undefined); get selectedEvidenceRegionId(): string | undefined; set selectedEvidenceRegionId(value: string | undefined); get theme(): OfficeTheme; set theme(value: OfficeTheme); get worker(): boolean; set worker(value: boolean); protected editorNode(): ReactNode; } export declare const A3S_OFFICE_ELEMENT_NAMES: { readonly document: "a3s-document-editor"; readonly markdown: "a3s-markdown-editor"; readonly pdf: "a3s-pdf-viewer"; readonly presentation: "a3s-presentation-editor"; readonly spreadsheet: "a3s-spreadsheet-editor"; }; export declare function defineA3SOfficeElements(registry?: CustomElementRegistry): void; declare global { interface HTMLElementTagNameMap { 'a3s-document-editor': A3SDocumentEditorElement; 'a3s-markdown-editor': A3SMarkdownEditorElement; 'a3s-pdf-viewer': A3SPdfViewerElement; 'a3s-presentation-editor': A3SPresentationEditorElement; 'a3s-spreadsheet-editor': A3SSpreadsheetEditorElement; } } export {};