import type { Config, PluginCreator } from './types/config'
type Plugin = {
  withOptions<T>(
    plugin: (options: T) => PluginCreator,
    config?: (options: T) => Config
  ): { (options: T): { handler: PluginCreator; config?: Config }; __isOptionsFunction: true }
  (plugin: PluginCreator, config?: Config): { handler: PluginCreator; config?: Config }
}

declare const plugin: Plugin
export = plugin
