type IAddCodeAtEndItem = {
    id: string;
    code: string;
    exact?: boolean;
    number?: number;
};
type IAddCodeAtEndOptions = {
    list?: Array<IAddCodeAtEndItem>;
};

type IAliasForLibraryOptions = {
    list?: Array<string>;
    target?: string;
    root?: string;
};

type GetViteConfigOptions = {
    mode: string;
    serverPort?: number;
    serverHttps?: boolean;
    serverHost?: string | boolean;
    optimizeDepsIncludes?: Array<string>;
    optimizeDepsExcludes?: Array<string>;
    addCodeAtEndOptions?: IAddCodeAtEndOptions;
    pressUiAlias?: string;
    pressPlusAlias?: string;
    aliasForLibraryOptions?: IAliasForLibraryOptions;
    pmdAliasMap?: Record<string, string>;
    customElements?: Array<string>;
    useCdn?: boolean;
    useElementPlusCDN?: boolean;
};

declare function getViteBaseConfig({ mode, serverHttps, serverPort, serverHost, optimizeDepsIncludes, optimizeDepsExcludes, addCodeAtEndOptions, pressUiAlias, pressPlusAlias, aliasForLibraryOptions, pmdAliasMap, customElements, useCdn, useElementPlusCDN, }: GetViteConfigOptions): {
    optimizeDeps: {
        include: string[];
        exclude: string[];
    };
    plugins: any[];
    resolve: {
        alias: Record<string, string>;
        extensions: string[];
    };
    server: {
        port: number;
        https: boolean;
        host: string | boolean;
        proxy: {};
    };
    build: {
        target: string;
        rollupOptions: {
            input: {
                1: string;
            };
            output: {
                chunkFileNames: string;
                entryFileNames: string;
                assetFileNames: string;
            };
        };
    };
    experimental: {
        renderBuiltUrl(filename: string, { hostId, hostType, type }: {
            hostId: string;
            hostType: string;
            type: string;
        }): string;
    };
    root: string;
    envDir: string;
    base: string;
} | {
    optimizeDeps: {
        include: string[];
        exclude: string[];
    };
    plugins: any[];
    resolve: {
        alias: Record<string, string>;
        extensions: string[];
    };
    server: {
        port: number;
        https: boolean;
        host: string | boolean;
        proxy: {};
    };
    build: {
        target: string;
        rollupOptions: {
            input: {
                1: string;
            };
            output: {
                chunkFileNames: string;
                entryFileNames: string;
                assetFileNames: string;
            };
        };
    };
    experimental?: undefined;
    root: string;
    envDir: string;
    base: string;
};

export { getViteBaseConfig };
