import { P as PyodideInterface } from './pyodide.d-DZJVW4ke.js';

type LiteralOrString<T extends string> = T | (string & {})

type ScriptGenerator = (inputPath: string, outputPath: string) => string;
/**
 * Generate a basic script for fonttools
 *
 * `font` is a `fontTools.ttLib.TTFont` object
 */
declare function generateBasicScript(script: string): ScriptGenerator;
type Extension = {
    input?: LiteralOrString<'ttf' | 'otf' | 'woff' | 'woff2'>;
    output?: LiteralOrString<'ttf' | 'otf' | 'woff' | 'woff2'>;
};
/**
 * Run a Python script in `pyodide` with input ttf and return processed ttf buffer
 * @param pyodide pyodide instance
 * @param inputBuffer original font buffer, common format is `Uint8Array`
 * @param script script string, `font` is `fonttools.ttLib.TTFont` variable
 * @param ext input / output font format. Default input is 'ttf', default output is same as input
 */
declare function handleFontBuffer(pyodide: PyodideInterface, inputBuffer: ArrayBuffer | ArrayBufferView, script: ScriptGenerator, ext?: Extension): Uint8Array;
/**
 * Name Id for `name` table, see details in {@link https://learn.microsoft.com/en-us/typography/opentype/spec/name#name-ids SPEC}
 */
declare const NameId: {
    readonly Copyright: 0;
    readonly FamilyName: 1;
    readonly SubfamilyName: 2;
    readonly Identifier: 3;
    readonly FullName: 4;
    readonly Version: 5;
    readonly PostscriptName: 6;
    readonly Trademark: 7;
    readonly Manufacturer: 8;
    readonly Designer: 9;
    readonly Description: 10;
    readonly VenderURL: 11;
    readonly DesignerURL: 12;
    readonly License: 13;
    readonly LicenseURL: 14;
    readonly PreferredFamily: 16;
    readonly PreferredSubFamily: 17;
};
/**
 * Script that contains utils that manipulate font's name
 */
declare const processNameUtilScript = "def set_font_name(font,name,id):\n    font[\"name\"].setName(name,nameID=id,platformID=1,platEncID=0,langID=0x0)\n    font[\"name\"].setName(name,nameID=id,platformID=3,platEncID=1,langID=0x409)\ndef get_font_name(font,id):\n    return font[\"name\"].getName(nameID=id,platformID=3,platEncID=1,langID=0x409).__str__()\ndef del_font_name(font,id):\n    font[\"name\"].removeNames(nameID=id)";

export { type Extension, NameId, type ScriptGenerator, generateBasicScript, handleFontBuffer, processNameUtilScript };
