import { type Editor, type Range } from '@tiptap/core'; import { type MarkType } from '@tiptap/pm/model'; import { type EditorState } from '@tiptap/pm/state'; import { BehaviorSubject, type Observable, Subject } from 'rxjs'; import { type TuiEditorAttachedFile } from './attached'; import { type TuiEditableIframe } from './iframe'; import { type TuiYoutubeOptions } from './youtube'; import * as i0 from "@angular/core"; export interface TuiSelectionSnapshot { anchor: number; head: number; } export interface TuiSetValueOption { clearsHistory?: boolean; } type Attrs = Record; export declare abstract class AbstractTuiEditor { abstract readonly isFocused: boolean; abstract readonly html: string; abstract editable: boolean; /** * @deprecated use valueChange$ instead */ readonly stateChange$: Subject; readonly valueChange$: BehaviorSubject; abstract get state(): EditorState | null; abstract isActive$(attributes: Attrs): Observable; abstract isActive$(name: string, attributes?: Attrs): Observable; abstract isActive(attributes: Attrs): boolean; abstract isActive(name: string, attributes?: Attrs): boolean; abstract undoDisabled(): boolean; abstract redoDisabled(): boolean; abstract getFontColor(): string; abstract getFontSize(): number; abstract setFontSize(size: number): void; abstract getBackgroundColor(): string; abstract getCellColor(): string; abstract getGroupColor(): string; abstract onAlign(align: string): void; abstract setImage(src: string): void; abstract undo(): void; abstract redo(): void; abstract setHorizontalRule(): void; abstract removeFormat(): void; abstract setFontColor(color: string): void; abstract setBackgroundColor(color: string): void; abstract toggleBold(): void; abstract toggleItalic(): void; abstract toggleUnderline(): void; abstract toggleBlockquote(): void; abstract toggleStrike(): void; abstract toggleOrderedList(): void; abstract toggleUnorderedList(): void; abstract toggleCode(): void; abstract togglePre(): void; abstract clearHistory(): void; abstract toggleSubscript(): void; abstract toggleSuperscript(): void; abstract toggleCodeBlock(): void; abstract toggleTaskList(): void; abstract liftListItem(): void; abstract sinkListItem(): void; abstract insertTable(rows: number, cols: number): void; abstract addColumnAfter(): void; abstract addColumnBefore(): void; abstract addRowAfter(): void; abstract addRowBefore(): void; abstract deleteColumn(): void; abstract deleteRow(): void; abstract mergeCells(): void; abstract canMergeCells(): boolean; abstract canSplitCells(): boolean; abstract splitCell(): void; abstract setHeading(level: number): void; abstract removeEmptyTextStyle(): void; abstract toggleMark(typeOrName: MarkType | string, attributes?: Record, options?: { /** * Removes the mark even across the current selection. Defaults to `false`. */ extendEmptyMarkRange?: boolean; }): void; abstract setParagraph(options?: { fontSize: string; }): void; abstract setHardBreak(): void; abstract setTextSelection(value: Range | number): void; abstract toggleLink(href: string): void; abstract setLink(href: string): void; abstract unsetLink(): void; abstract destroy(): void; abstract selectClosest(): void; abstract focus(): void; abstract takeSelectionSnapshot(): void; abstract getSelectionSnapshot(): TuiSelectionSnapshot | null; abstract setValue(value: string, options?: TuiSetValueOption): void; abstract setCellColor(color: string): void; abstract getOriginTiptapEditor(): Editor | null; abstract enter(): void; /** * @deprecated use {@link unsetDetails} */ abstract removeDetails(): void; abstract setDetails(): void; abstract unsetDetails(): void; abstract setGroup(): void; abstract setGroupHilite(color: string): void; abstract removeGroup(): void; abstract setAnchor(id: string): void; abstract removeAnchor(): void; abstract setFileLink(preview: TuiEditorAttachedFile): void; abstract setYoutubeVideo(options: TuiYoutubeOptions): void; abstract setIframe(options: TuiEditableIframe): void; abstract getHTML(): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } export {};