import Cli from "./utils/Cli";
import Page from "./classes/Page";
import { Configuration } from "webpack";
import PageArchitect from "./architects/PageArchitect";
import StaticArchitect, { StaticConfig } from "./architects/StaticArchitect";
import { GlobalHooks } from "./types/Plugin";
import { Args } from "./bin/ArgsMapper";
import { PageChunks } from "./types/global";
import AppPage from "./classes/AppPage";
export declare type WebpackConfig = Configuration;
export interface $ extends Params {
    pageMap?: Map<string, Page>;
    appPage?: AppPage;
    renderer?: StaticArchitect;
    pageArchitect?: PageArchitect;
    hooks: GlobalHooks;
}
export interface Params {
    watch: boolean;
    outputFileSystem?: any;
    inputFileSystem?: any;
    args: Args;
    pro: boolean;
    verbose: boolean;
    ssr: boolean;
    cli: Cli;
    outDir: string;
    cacheDir: string;
    staticDir: string;
    lib: string;
    pages: string;
    prefix: string;
    staticPrefix: string;
    plugins: string[];
    custom: any;
    appPath: string;
}
export interface FIREJSX_MAP {
    staticConfig: StaticConfig;
    pageMap: {
        [key: string]: PageChunks;
    };
}
export default class {
    readonly $: $;
    constructor(params: Params);
    init(): Promise<void>;
    buildPages(): Promise<void>;
    export(): Promise<void>;
    exportFly(): Promise<unknown>;
    destruct(): void;
}
export declare function generateMapJS(path: string, content: any, page: Page): string;
export declare function pathToUrlPath(path: string): string;
