Я использую стороннюю библиотеку, у которой нет типов, поэтому я хочу создать для нее файл объявления:
declare module 'autocomplete' {
export interface AutocompleteField {
name: string;
placeholder?: boolean | string;
label: ReactNode;
onSelect: (event: Event) => void;
validationFirst: boolean;
}
}
этот файл находится в /@types
Я импортирую это для моего компонента React:
import { AutocompleteField } from 'autocomplete';
Но когда я пытаюсь использовать этот компонент AutocompleteField:
const MyComponent = () => {
return (
<AutocompleteField
name="supplier_recipient"
placeholder="Start typing"
label=""
onSelect={onChange}
validationFirst
/>
)
}
Я получаю эту ошибку:
TS2693: 'AutocompleteField' only refers to a type, but is being used as a value here.
Это мое tsconfig.ts
:
{
"compilerOptions": {
"target": "es5",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"baseUrl": ".",
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react"
},
"include": [
"src/**/*",
"./@types"
],
"exclude": [
"node_modules",
]
}
Любые намеки на это будут высоко оценены.