import type { NextConfig } from 'next';
import type * as NextServer from 'next/dist/server/config-shared';
import type * as Webpack from 'webpack';
import { LinariaLoaderOptions } from './loaders/webpack-transform-loader';
export type LinariaConfig = NextConfig & {
    linaria?: Omit<LinariaLoaderOptions, 'moduleStore' | 'name'> & {
        fastCheck?: boolean;
        prefixer?: boolean;
    };
};
export declare function addWebpackConfig({ linaria, ...nextConfig }: LinariaConfig): {
    webpack: (config: Webpack.Configuration, options: NextServer.WebpackConfigContext) => any;
    allowedDevOrigins?: string[];
    exportPathMap?: (defaultMap: NextServer.ExportPathMap, ctx: {
        dev: boolean;
        dir: string;
        outDir: string | null;
        distDir: string;
        buildId: string;
    }) => Promise<NextServer.ExportPathMap> | NextServer.ExportPathMap;
    i18n?: NextServer.I18NConfig | null;
    typescript?: NextServer.TypeScriptConfig;
    typedRoutes?: boolean;
    headers?: () => Promise<import("next/dist/lib/load-custom-routes").Header[]> | import("next/dist/lib/load-custom-routes").Header[];
    rewrites?: () => Promise<import("next/dist/lib/load-custom-routes").Rewrite[] | {
        beforeFiles?: import("next/dist/lib/load-custom-routes").Rewrite[];
        afterFiles?: import("next/dist/lib/load-custom-routes").Rewrite[];
        fallback?: import("next/dist/lib/load-custom-routes").Rewrite[];
    }> | import("next/dist/lib/load-custom-routes").Rewrite[] | {
        beforeFiles?: import("next/dist/lib/load-custom-routes").Rewrite[];
        afterFiles?: import("next/dist/lib/load-custom-routes").Rewrite[];
        fallback?: import("next/dist/lib/load-custom-routes").Rewrite[];
    };
    redirects?: () => Promise<import("next/dist/lib/load-custom-routes").Redirect[]> | import("next/dist/lib/load-custom-routes").Redirect[];
    excludeDefaultMomentLocales?: boolean;
    trailingSlash?: boolean;
    env?: Record<string, string | undefined>;
    distDir?: string;
    cleanDistDir?: boolean;
    assetPrefix?: string;
    cacheHandler?: string | undefined;
    adapterPath?: string;
    cacheHandlers?: {
        default?: string;
        remote?: string;
        static?: string;
        [handlerName: string]: string | undefined;
    };
    cacheMaxMemorySize?: number;
    useFileSystemPublicRoutes?: boolean;
    generateBuildId?: () => string | null | Promise<string | null>;
    generateEtags?: boolean;
    pageExtensions?: string[];
    compress?: boolean;
    poweredByHeader?: boolean;
    images?: import("next/dist/shared/lib/image-config").ImageConfig;
    devIndicators?: false | {
        position?: "top-left" | "top-right" | "bottom-left" | "bottom-right";
    };
    onDemandEntries?: {
        maxInactiveAge?: number;
        pagesBufferLength?: number;
    };
    deploymentId?: string;
    basePath?: string;
    sassOptions?: {
        implementation?: string;
        [key: string]: any;
    };
    productionBrowserSourceMaps?: boolean;
    reactCompiler?: boolean | NextServer.ReactCompilerOptions;
    reactProductionProfiling?: boolean;
    reactStrictMode?: boolean | null;
    reactMaxHeadersLength?: number;
    httpAgentOptions?: {
        keepAlive?: boolean;
    };
    staticPageGenerationTimeout?: number;
    crossOrigin?: "anonymous" | "use-credentials";
    compiler?: {
        reactRemoveProperties?: boolean | {
            properties?: string[];
        };
        relay?: {
            src: string;
            artifactDirectory?: string;
            language?: "typescript" | "javascript" | "flow";
            eagerEsModules?: boolean;
        };
        removeConsole?: boolean | {
            exclude?: string[];
        };
        styledComponents?: boolean | NextServer.StyledComponentsConfig;
        emotion?: boolean | NextServer.EmotionConfig;
        styledJsx?: boolean | {
            useLightningcss?: boolean;
        };
        define?: Record<string, string>;
        defineServer?: Record<string, string>;
        runAfterProductionCompile?: (metadata: {
            projectDir: string;
            distDir: string;
        }) => Promise<void>;
    };
    output?: "standalone" | "export";
    transpilePackages?: string[];
    turbopack?: NextServer.TurbopackOptions;
    skipMiddlewareUrlNormalize?: boolean;
    skipProxyUrlNormalize?: boolean;
    skipTrailingSlashRedirect?: boolean;
    modularizeImports?: Record<string, {
        transform: string | Record<string, string>;
        preventFullImport?: boolean;
        skipDefaultConversion?: boolean;
    }>;
    logging?: NextServer.LoggingConfig | false;
    enablePrerenderSourceMaps?: boolean;
    cacheComponents?: boolean;
    cacheLife?: {
        [profile: string]: {
            stale?: number;
            revalidate?: number;
            expire?: number;
        };
    };
    expireTime?: number;
    experimental?: NextServer.ExperimentalConfig;
    bundlePagesRouterDependencies?: boolean;
    serverExternalPackages?: string[];
    outputFileTracingRoot?: string;
    outputFileTracingExcludes?: Record<string, string[]>;
    outputFileTracingIncludes?: Record<string, string[]>;
    watchOptions?: {
        pollIntervalMs?: number;
    };
    htmlLimitedBots?: RegExp;
};
