json-joy
Version:
Collection of libraries for building collaborative editing apps.
26 lines (25 loc) • 1.46 kB
TypeScript
import { BehaviorSubject } from 'rxjs';
import { SavedFormatting } from '../../state/formattings';
import { Model, type ObjApi } from '../../../../../json-crdt/model';
import type { ObjNode } from '../../../../../json-crdt/nodes';
import type { Inline } from '../../../../../json-crdt-extensions';
import type { ToolbarState } from '../../state';
export declare class FormattingManageState {
readonly state: ToolbarState;
readonly inline: Inline | undefined;
readonly selected$: BehaviorSubject<SavedFormatting<ObjNode<Record<string, import("../../../../../json-crdt/nodes").JsonNode<unknown>>>> | null>;
readonly view$: BehaviorSubject<"view" | "edit">;
readonly editing$: BehaviorSubject<SavedShadowFormatting<ObjNode<Record<string, import("../../../../../json-crdt/nodes").JsonNode<unknown>>>> | undefined>;
constructor(state: ToolbarState, inline: Inline | undefined);
getFormattings$(inline?: Inline | undefined): BehaviorSubject<SavedFormatting[]>;
readonly select: (formatting: SavedFormatting | null) => void;
readonly switchToViewPanel: () => void;
readonly switchToEditPanel: () => void;
readonly returnFromEditPanelAndSave: () => void;
}
export declare class SavedShadowFormatting<Node extends ObjNode = ObjNode> extends SavedFormatting<Node> {
readonly saved: SavedFormatting<Node>;
protected _model: Model<any>;
constructor(saved: SavedFormatting<Node>);
conf(): ObjApi<Node> | undefined;
}