import webpack from 'webpack';
import { Configuration as WebpackDevServerConfiguration } from 'webpack-dev-server';
import { LogTag } from './project/ProjectUtils';
export interface WebpackConfiguration extends webpack.Configuration {
    devServer?: WebpackDevServerConfiguration;
}
export declare type WebEnvironment = {
    projectRoot: string;
    pwa: boolean;
    mode: 'development' | 'production' | 'test' | 'none';
    https: boolean;
    info: boolean;
};
export declare function isDebugModeEnabled(): boolean;
export declare function isInfoEnabled(): boolean;
export declare function shouldWebpackClearLogs(): boolean;
export declare function logEnvironmentInfo(projectRoot: string, tag: LogTag, config: webpack.Configuration): void;
export declare function invokeWebpackConfigAsync(env: WebEnvironment, argv?: string[]): Promise<WebpackConfiguration>;
export declare function openProjectAsync(projectRoot: string): Promise<{
    success: true;
    url: string;
} | {
    success: false;
    error: Error;
}>;
export declare function onlySupportsWebAsync(projectRoot: string): Promise<boolean>;