import { ApplicationContract } from '@ioc:Adonis/Core/Application';
import { ExtendCallback, AssetsManagerConfig, AssetsManagerContract } from '@ioc:Adonis/Core/AssetsManager';
/**
 * Assets manager exposes the API to make link and HTML fragments
 * for static assets.
 *
 * The compilation is not done by the assets manager. It must be done
 * separately
 */
export declare class AssetsManager implements AssetsManagerContract {
    private config;
    application: ApplicationContract;
    private drivers;
    /**
     * Attributes to apply to the script tag
     */
    get scriptAttributes(): Record<string, any>;
    /**
     * Configured driver
     */
    private driver;
    private booted;
    /**
     * Find if the configured driver supports entrypoints or not
     */
    get hasEntrypoints(): boolean;
    /**
     * Path to the public output directory. The property must be
     * mutable
     */
    get publicPath(): string;
    /**
     * Returns the current version of assets
     */
    get version(): string | undefined;
    /**
     * Returns the name of the driver currently in use
     */
    get name(): string;
    constructor(config: AssetsManagerConfig, application: ApplicationContract);
    /**
     * Boot the manager. Must be done lazily to allow `extend` method to takes
     * in effect.
     */
    private boot;
    /**
     * Ensure entrypoints are enabled, otherwise raise an exception. The
     * methods relying on the entrypoints file uses this method
     */
    private ensureHasEntryPoints;
    /**
     * Returns the manifest contents as an object
     */
    manifest(): any;
    /**
     * Returns path to a given asset entry
     */
    assetPath(filename: string): string;
    /**
     * Returns the entrypoints contents as an object
     */
    entryPoints(): any;
    /**
     * Returns list for all the javascript files for a given entry point.
     * Raises exceptions when [[hasEntrypoints]] is false
     */
    entryPointJsFiles(name: string): string[];
    /**
     * Returns list for all the css files for a given entry point.
     * Raises exceptions when [[hasEntrypoints]] is false
     */
    entryPointCssFiles(name: string): string[];
    /**
     * Returns an HTML fragment for script tags. Raises exceptions
     * when [[hasEntrypoints]] is false
     */
    entryPointScriptTags(name: string): string;
    /**
     * Returns an HTML fragment for stylesheet link tags. Raises exceptions
     * when [[hasEntrypoints]] is false
     */
    entryPointStyleTags(name: string): string;
    /**
     * Register a custom asset manager driver
     */
    extend(name: string, callback: ExtendCallback): this;
}
