import { vitePluginLog } from '@lntvow/vite-plugin';
import Legacy from '@vitejs/plugin-legacy';
import Compression from 'vite-plugin-compression';
import { visualizer } from 'rollup-plugin-visualizer';
import AutoImport from 'unplugin-auto-import/vite';
import { UserConfig } from 'vite';

declare function createConfig(options?: Options): UserConfig;
interface Options {
    /**
     * @default true
     */
    log?: Parameters<typeof vitePluginLog>[0] | false;
    autoImport?: Parameters<typeof AutoImport>[0] | false;
    compression?: Parameters<typeof Compression>[0] | false;
    visualizer?: Parameters<typeof visualizer>[0] | false;
    legacy?: Parameters<typeof Legacy>[0] | false;
    /**
     * @default 'production'
     */
    mode?: string;
    config?: UserConfig;
    /**
     * Enable TypeScript support.
     * @default auto-detect based on the dependencies
     */
    typescript?: boolean;
}

export { createConfig };
