///
import { LocationDescriptor, MeatballMenuApi } from "@heydovetail/ui-components";
import { Plugin } from "prosemirror-state";
import { Observable } from "rxjs";
import { AttachmentService } from "./attachment/AttachmentService";
import { Tag, TagGroup } from "./highlight/HighlightWidgetPlugin";
import { Range } from "./range/types";
import { PortalProviderApi } from "./util/PortalProvider";
export interface HighlightOptions {
initialRanges?: ReadonlyArray;
initialFocusedRangeId?: string;
getTagGroups(): Observable;
createTag(args: {
groupId: string | null;
title: string;
}): Promise;
onCopyHighlightURL?: (rangeId: string) => void;
tagQuickEditRenderer?: (tagId: string, menuApi: MeatballMenuApi) => React.ReactNode;
generateTagURL: (tagId: string) => LocationDescriptor;
}
/**
* Build the set of plugins needed for an editor.
*/
export declare function plugins(options: {
portalProviderApi: PortalProviderApi;
defaultEditable: boolean;
attachmentService?: AttachmentService;
placeholderText?: string;
highlightOptions?: HighlightOptions;
}): Array;