import { AssetsDriverContract } from '@ioc:Adonis/Core/AssetsManager';
import { BaseDriver } from './Base';
/**
 * Resolves entry points and assets path for Vite. Relies
 * on the "manifest.json" and "entrypoints.json" files.
 *
 **********************************************************************
 * The driver assumes following format for the manifest.json file
 **********************************************************************
 *
 * ```json
 *  {
 *    "assetName": {
 *      "file": "path",
 *      "src": "path"
 *    },
 *    ...
 *  }
 * ```
 **********************************************************************
 * The driver assumes following format for the entrypoints.json file
 ***********************************************************************
 *
 * ```json
 *  {
 *    "url": "url"
 *    "entrypoints": {
 *      "entryPointName": {
 *         "js": ["url", "url"],
 *         "css": ["url", "url"],
 *      }
 *    }
 *  }
 * ```
 *
 * Please read the documentation for understanding the format of the files.
 */
export declare class ViteDriver extends BaseDriver implements AssetsDriverContract {
    name: string;
    /**
     * Vite driver has support for entrypoints
     */
    hasEntrypoints: boolean;
    /**
     * Attributes to apply to the script tag. Vite needs to serve
     * source over native ESM
     */
    scriptAttributes: Record<string, any>;
    /**
     * If we should use the manifest. We only use the manifest in production.
     */
    private shouldUseManifest;
    /**
     * Get the assets url from the entrypoints.json file
     */
    private getAssetUrl;
    /**
     * Returns path to a given asset file
     */
    assetPath(filename: string): string;
    /**
     * Returns the manifest contents as object
     *
     * Note that the manifest file is only available in production.
     * Vite doesn't generate any manifest file in development.
     */
    manifest(): any;
    /**
     * Returns list for all the javascript files for a given entry point
     */
    entryPointJsFiles(name: string): string[];
    /**
     * Returns list for all the css files for a given entry point
     */
    entryPointCssFiles(name: string): string[];
    /**
     * Returns the script needed for the HMR working with React
     */
    getReactHmrScript(): string;
    /**
     * Returns the script needed for the HMR working with Vite
     */
    getViteHmrScript(): string;
}
