declare module '@rollup-extras/utils' { import type { NormalizedOutputOptions, OutputBundle, Plugin, PluginContext } from 'rollup'; export type SimpleOptions = string | string[] | undefined; export type DefaultsFactory> = { [key: string]: (options: Partial, field: string) => unknown; }; export type Result, F extends DefaultsFactory> = T & { [K in keyof F]: F[K] extends (options: Partial, field: string) => unknown ? ReturnType : unknown; }; export type ExecuteFn = (this: PluginContext, options: NormalizedOutputOptions, bundle: OutputBundle) => void | Promise; export type OnFinalHook = ( this: PluginContext, options: NormalizedOutputOptions, bundle: OutputBundle, remainingConfigsCount: number, remainingOutputsCount: number ) => void | Promise; export function multiConfigPluginBase( useWriteBundle: boolean, pluginName: string, execute: ExecuteFn, onFinalHook?: OnFinalHook ): Plugin & { api: { addInstance(): Plugin; }; }; export function getOptions< T extends string | string[] | undefined | Record | Record[], D, F extends DefaultsFactory & Partial>>, C extends string, >( options: T | undefined, defaults: D | undefined, field: C, factory?: F ): Result & Partial>, F> & D; export function getOptionsObject, D, F extends DefaultsFactory>( options: T, defaults?: D, factory?: F ): Result & D; export {}; } declare module '@rollup-extras/utils/multi-config-plugin-base' { import type { NormalizedOutputOptions, OutputBundle, Plugin, PluginContext } from 'rollup'; export type ExecuteFn = (this: PluginContext, options: NormalizedOutputOptions, bundle: OutputBundle) => void | Promise; export type OnFinalHook = ( this: PluginContext, options: NormalizedOutputOptions, bundle: OutputBundle, remainingConfigsCount: number, remainingOutputsCount: number ) => void | Promise; export function multiConfigPluginBase( useWriteBundle: boolean, pluginName: string, execute: ExecuteFn, onFinalHook?: OnFinalHook ): Plugin & { api: { addInstance(): Plugin; }; }; export {}; } declare module '@rollup-extras/utils/options' { export function getOptions< T extends string | string[] | undefined | Record | Record[], D, F extends DefaultsFactory & Partial>>, C extends string, >( options: T | undefined, defaults: D | undefined, field: C, factory?: F ): Result & Partial>, F> & D; export function getOptionsObject, D, F extends DefaultsFactory>( options: T, defaults?: D, factory?: F ): Result & D; type SimpleOptions = string | string[] | undefined; type DefaultsFactory> = { [key: string]: (options: Partial, field: string) => unknown; }; type Result, F extends DefaultsFactory> = T & { [K in keyof F]: F[K] extends (options: Partial, field: string) => unknown ? ReturnType : unknown; }; export {}; } declare module '@rollup-extras/utils/logger' { import type { createLogger } from '@niceties/logger'; export default function logger(options: { pluginName?: string }): ReturnType; export {}; } declare module '@rollup-extras/utils/statistics' { export default function statistics( verbose: boolean, messageFactory: (result: number | string[]) => string ): (name?: string) => undefined | string; export {}; }