/**
 * NiceFontEditor.tsx — Font creation and editing (glyph editor).
 *
 * Features:
 * - Glyph grid with unicode character mapping
 * - Per-glyph vector path editor
 * - Metrics editing (advance width, bearing, ascent/descent)
 * - Font preview with sample text
 * - Export to OTF/TTF metadata (SVG font), WOFF subset
 * - Import from existing font files
 */
import React from "react";
export interface FontEditorProps {
    /** Font family name. */
    fontName?: string;
    /** Called on font save. */
    onSave?: (data: FontData) => void;
    /** CSS class. */
    className?: string;
}
export interface GlyphData {
    unicode: number;
    char: string;
    name: string;
    path: string;
    advanceWidth: number;
    leftBearing: number;
}
export interface FontMetrics {
    unitsPerEm: number;
    ascent: number;
    descent: number;
    lineGap: number;
    xHeight: number;
    capHeight: number;
}
export interface FontData {
    name: string;
    family: string;
    metrics: FontMetrics;
    glyphs: GlyphData[];
}
export type FontGlyph = GlyphData;
export interface FontEditorApi {
    fontName: string;
    setFontName: React.Dispatch<React.SetStateAction<string>>;
    metrics: FontMetrics;
    setMetrics: React.Dispatch<React.SetStateAction<FontMetrics>>;
    glyphs: GlyphData[];
    selectedGlyph: number | null;
    setSelectedGlyph: React.Dispatch<React.SetStateAction<number | null>>;
    updateGlyph: (unicode: number, updates: Partial<GlyphData>) => void;
    addGlyph: (char: string) => void;
    previewText: string;
    setPreviewText: React.Dispatch<React.SetStateAction<string>>;
    toFontData: () => FontData;
}
export declare function exportToSvgFont(data: FontData): string;
export declare function useFontEditor(initialName: string): FontEditorApi;
/** Font glyph editor with metrics, path editing, and preview. */
export declare const NiceFontEditor: React.FC<FontEditorProps>;
export default NiceFontEditor;
