export interface ImportGlobOptions< Eager extends boolean, AsType extends string > { /** * Import type for the import url. */ as?: AsType /** * Import as static or dynamic * * @default false */ eager?: Eager /** * Import only the specific named export. Set to `default` to import the default export. */ import?: string /** * Custom queries */ query?: string | Record /** * Search files also inside `node_modules/` and hidden directories (e.g. `.git/`). This might have impact on performance. * * @default false */ exhaustive?: boolean } export type GeneralImportGlobOptions = ImportGlobOptions export interface KnownAsTypeMap { raw: string url: string worker: Worker } export interface ImportGlobFunction { /** * Import a list of files with a glob pattern. * * Overload 1: No generic provided, infer the type from `eager` and `as` */ < Eager extends boolean, As extends string, T = As extends keyof KnownAsTypeMap ? KnownAsTypeMap[As] : unknown >( glob: string | string[], options?: ImportGlobOptions ): (Eager extends true ? true : false) extends true ? Record : Record Promise> /** * Import a list of files with a glob pattern. * * Overload 2: Module generic provided, infer the type from `eager: false` */ ( glob: string | string[], options?: ImportGlobOptions ): Record Promise> /** * Import a list of files with a glob pattern. * * Overload 3: Module generic provided, infer the type from `eager: true` */ ( glob: string | string[], options: ImportGlobOptions ): Record } export interface ImportGlobEagerFunction { /** * Eagerly import a list of files with a glob pattern. * * Overload 1: No generic provided, infer the type from `as` */ < As extends string, T = As extends keyof KnownAsTypeMap ? KnownAsTypeMap[As] : unknown >( glob: string | string[], options?: Omit, 'eager'> ): Record /** * Eagerly import a list of files with a glob pattern. * * Overload 2: Module generic provided */ ( glob: string | string[], options?: Omit, 'eager'> ): Record }