-
Notifications
You must be signed in to change notification settings - Fork 17
Description
When using the assemblyai package inside another TypeScript package and exporting a function that returns or includes types from AssemblyAI, TypeScript produces the following error during declaration emit:
error TS2742: The inferred type of 'transcribeAudio' cannot be named without a reference to 'assemblyai/dist/types/helpers'
This happens because the .d.ts files reference internal type modules (e.g. dist/types/helpers.d.ts) which are not exposed through the package’s exports map.
As a result, any library that depends on assemblyai cannot safely re-export or use AssemblyAI’s types in its public API.
Steps to Reproduce
import { AssemblyAI } from "assemblyai";
export async function transcribeAudio(apiKey: string) {
const client = new AssemblyAI({ apiKey });
return client.transcripts.transcribe({ audio: "https://example.com/file.mp3" });
}Suggested Fix
In package.json, the exports["."] types field should point to a .d.ts file that re-exports all relevant public types
// Example: dist/exports/index.d.ts
export * from "../types/helpers";
export * from "../types/client";
export * from "../types/transcripts";
Se we can add a type-flattening step using rollup-plugin-dts at the end of the Rollup build:
const dts = require("rollup-plugin-dts").default;
{
input: "src/exports/index.ts",
plugins: [dts()],
output: {
file: "./dist/exports/index.d.ts",
format: "es",
},
}