import type { ElementNode } from '@prezly/slate-types'; import type { TNode } from '@udecode/plate-common'; import type { Node } from 'slate'; type Uuid = string; export interface PlaceholderNode extends ElementNode { type: T; uuid: Uuid; provider?: `${PlaceholderNode.Provider}`; } export declare namespace PlaceholderNode { enum Provider { YOUTUBE = "youtube", TIKTOK = "tiktok", INSTAGRAM = "instagram", DROPBOX = "dropbox", X = "x", VIMEO = "vimeo", SOUNDCLOUD = "soundcloud", GIPHY = "giphy", SPOTIFY = "spotify", FACEBOOK = "facebook", PINTEREST = "pinterest", GOOGLE_MAPS = "google_maps", GOOGLE_SHEETS = "google_sheets", GOOGLE_DOCS = "google_docs", CALENDLY = "calendly", EVENTBRITE = "eventbrite", TYPEFORM = "typeform", TALLY = "tally", MICROSOFT_TEAMS = "microsoft_teams", PODCAST = "podcast", AUDIO = "audio" } enum Type { ATTACHMENT = "placeholder:attachment", CONTACT = "placeholder:contact", COVERAGE = "placeholder:coverage", EMBED = "placeholder:embed", GALLERY = "placeholder:gallery", GALLERY_BOOKMARK = "placeholder:gallery-bookmark", IMAGE = "placeholder:image", /** * Media placeholder allows to insert one of multiple types of media (image, video, and maybe embed?) */ MEDIA = "placeholder:media", SOCIAL_POST = "placeholder:social-post", STORY_BOOKMARK = "placeholder:story-bookmark", STORY_EMBED = "placeholder:story-embed", VIDEO = "placeholder:video", WEB_BOOKMARK = "placeholder:bookmark" } function isPlaceholderNode(node: Node | TNode): node is PlaceholderNode; function isPlaceholderNode(node: Node | TNode, type: T): node is PlaceholderNode; function isPlaceholderNode(node: Node | TNode, types: T[]): node is PlaceholderNode; function isPlaceholderNode(node: Node | TNode, type: `${T}`): node is PlaceholderNode; function isSameAs(placeholder: T, node: Node | TNode): node is T; function isSameAs(placeholder: T): (node: Node | TNode) => node is T; } export {};