// TypeScript Version: 3.1
|
// See the `jimp` package index.d.ts for why the version is not 2.8
|
import {
|
FunctionRet,
|
Jimp,
|
JimpPlugin,
|
JimpType,
|
GetIntersectionFromPlugins,
|
GetIntersectionFromPluginsStatics,
|
JimpConstructors
|
} from '@jimp/core';
|
|
type JimpInstance<
|
TypesFuncArr extends FunctionRet<JimpType> | undefined,
|
PluginFuncArr extends FunctionRet<JimpPlugin> | undefined,
|
J extends JimpConstructors
|
> = J & GetIntersectionFromPluginsStatics<Exclude<TypesFuncArr | PluginFuncArr, undefined>> & {
|
prototype: JimpType & GetIntersectionFromPlugins<Exclude<TypesFuncArr | PluginFuncArr, undefined>>
|
};
|
|
declare function configure<
|
TypesFuncArr extends FunctionRet<JimpType> | undefined = undefined,
|
PluginFuncArr extends FunctionRet<JimpPlugin> | undefined = undefined,
|
J extends JimpConstructors = JimpConstructors
|
>(
|
configuration: {
|
types?: TypesFuncArr;
|
plugins?: PluginFuncArr;
|
},
|
jimpInstance?: J
|
// Since JimpInstance is required, we want to use the default `Jimp` type
|
): JimpInstance<TypesFuncArr, PluginFuncArr, J>;
|
|
export default configure;
|