// Built-in Slate mark configurations with strict typing
export const SLATE_MARKS = {
    bold: {
        hotkey: "mod+b",
        htmlTag: "strong",
        label: "Bold",
        icon: "𝐁",
        renderHtml: (text) => `<strong>${text}</strong>`,
    },
    italic: {
        hotkey: "mod+i",
        htmlTag: "em",
        label: "Italic",
        icon: "𝐼",
        renderHtml: (text) => `<em>${text}</em>`,
    },
    underline: {
        hotkey: "mod+u",
        htmlTag: "u",
        label: "Underline",
        icon: "𝐔",
        renderHtml: (text) => `<u>${text}</u>`,
    },
    strikethrough: {
        htmlTag: "s",
        label: "Strikethrough",
        icon: "𝐒",
        renderHtml: (text) => `<s>${text}</s>`,
    },
    subscript: {
        htmlTag: "sub",
        label: "Subscript",
        icon: "X₂",
        renderHtml: (text) => `<sub>${text}</sub>`,
    },
    superscript: {
        htmlTag: "sup",
        label: "Superscript",
        icon: "X²",
        renderHtml: (text) => `<sup>${text}</sup>`,
    },
    extrabold: {
        htmlTag: "span",
        label: "Extra Bold",
        icon: "𝐄𝐁",
        renderHtml: (text) => `<span class="extrabold">${text}</span>`,
    },
};
// Built-in Slate block configurations with strict typing
export const SLATE_BLOCKS = {
    paragraph: {
        htmlTag: "p",
        label: "Paragraph",
        icon: "¶",
        renderHtml: (text, alignStyle) => `<p${alignStyle}>${text}</p>`,
    },
    "no-tag": {
        htmlTag: "no-tag",
        label: "Plain Text",
        icon: "T",
        renderHtml: (text, alignStyle) => text,
    },
    "heading-1": {
        htmlTag: "h1",
        label: "Heading 1",
        icon: "H1",
        renderHtml: (text, alignStyle) => `<h1${alignStyle}>${text}</h1>`,
    },
    "heading-2": {
        htmlTag: "h2",
        label: "Heading 2",
        icon: "H2",
        renderHtml: (text, alignStyle) => `<h2${alignStyle}>${text}</h2>`,
    },
    "heading-3": {
        htmlTag: "h3",
        label: "Heading 3",
        icon: "H3",
        renderHtml: (text, alignStyle) => `<h3${alignStyle}>${text}</h3>`,
    },
    "heading-4": {
        htmlTag: "h4",
        label: "Heading 4",
        icon: "H4",
        renderHtml: (text, alignStyle) => `<h4${alignStyle}>${text}</h4>`,
    },
    "heading-5": {
        htmlTag: "h5",
        label: "Heading 5",
        icon: "H5",
        renderHtml: (text, alignStyle) => `<h5${alignStyle}>${text}</h5>`,
    },
    "heading-6": {
        htmlTag: "h6",
        label: "Heading 6",
        icon: "H6",
        renderHtml: (text, alignStyle) => `<h6${alignStyle}>${text}</h6>`,
    },
};
// Built-in alignment configurations with strict typing
export const SLATE_ALIGNMENTS = {
    left: { label: "Align Left", icon: "←", value: "left" },
    center: { label: "Align Center", icon: "↔", value: "center" },
    right: { label: "Align Right", icon: "→", value: "right" },
    justify: { label: "Justify", icon: "≡", value: "justify" },
};
//# sourceMappingURL=types.js.map