import { z } from 'zod';
import { RegisteredRouter, RouteIds } from '@tanstack/router-core';
import { CodeSplitGroupings } from './constants.cjs';
export declare const splitGroupingsSchema: z.ZodEffects<z.ZodArray<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"loader">, z.ZodLiteral<"component">, z.ZodLiteral<"pendingComponent">, z.ZodLiteral<"errorComponent">, z.ZodLiteral<"notFoundComponent">]>, "many">, "many">, ("loader" | "component" | "pendingComponent" | "errorComponent" | "notFoundComponent")[][], ("loader" | "component" | "pendingComponent" | "errorComponent" | "notFoundComponent")[][]>;
export type CodeSplittingOptions = {
    /**
     * Use this function to programmatically control the code splitting behavior
     * based on the `routeId` for each route.
     *
     * If you just need to change the default behavior, you can use the `defaultBehavior` option.
     * @param params
     */
    splitBehavior?: (params: {
        routeId: RouteIds<RegisteredRouter['routeTree']>;
    }) => CodeSplitGroupings | undefined | void;
    /**
     * The default/global configuration to control your code splitting behavior per route.
     * @default [['component'],['pendingComponent'],['errorComponent'],['notFoundComponent']]
     */
    defaultBehavior?: CodeSplitGroupings;
};
export declare const configSchema: z.ZodObject<z.objectUtil.extendShape<{
    target: z.ZodDefault<z.ZodOptional<z.ZodEnum<["react", "solid"]>>>;
    virtualRouteConfig: z.ZodOptional<z.ZodUnion<[z.ZodType<import('@tanstack/virtual-file-routes').VirtualRootRoute, z.ZodTypeDef, import('@tanstack/virtual-file-routes').VirtualRootRoute>, z.ZodString]>>;
    routeFilePrefix: z.ZodOptional<z.ZodString>;
    routeFileIgnorePrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
    routeFileIgnorePattern: z.ZodOptional<z.ZodString>;
    routesDirectory: z.ZodDefault<z.ZodOptional<z.ZodString>>;
    generatedRouteTree: z.ZodDefault<z.ZodOptional<z.ZodString>>;
    quoteStyle: z.ZodDefault<z.ZodOptional<z.ZodEnum<["single", "double"]>>>;
    semicolons: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    disableTypes: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    addExtensions: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    disableLogging: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    disableManifestGeneration: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    enableRouteTreeFormatting: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    __enableAPIRoutesGeneration: z.ZodOptional<z.ZodBoolean>;
    apiBase: z.ZodDefault<z.ZodOptional<z.ZodString>>;
    routeTreeFileHeader: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
    routeTreeFileFooter: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
    autoCodeSplitting: z.ZodOptional<z.ZodBoolean>;
    indexToken: z.ZodDefault<z.ZodOptional<z.ZodString>>;
    routeToken: z.ZodDefault<z.ZodOptional<z.ZodString>>;
    pathParamsAllowedCharacters: z.ZodOptional<z.ZodArray<z.ZodEnum<[";", ":", "@", "&", "=", "+", "$", ","]>, "many">>;
    customScaffolding: z.ZodOptional<z.ZodObject<{
        routeTemplate: z.ZodOptional<z.ZodString>;
        lazyRouteTemplate: z.ZodOptional<z.ZodString>;
        apiTemplate: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        routeTemplate?: string | undefined;
        lazyRouteTemplate?: string | undefined;
        apiTemplate?: string | undefined;
    }, {
        routeTemplate?: string | undefined;
        lazyRouteTemplate?: string | undefined;
        apiTemplate?: string | undefined;
    }>>;
    experimental: z.ZodOptional<z.ZodObject<{
        enableCodeSplitting: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        enableCodeSplitting?: boolean | undefined;
    }, {
        enableCodeSplitting?: boolean | undefined;
    }>>;
}, {
    enableRouteGeneration: z.ZodOptional<z.ZodBoolean>;
    codeSplittingOptions: z.ZodOptional<z.ZodType<CodeSplittingOptions, z.ZodTypeDef, CodeSplittingOptions>>;
}>, "strip", z.ZodTypeAny, {
    target: "react" | "solid";
    routeFileIgnorePrefix: string;
    routesDirectory: string;
    generatedRouteTree: string;
    quoteStyle: "single" | "double";
    semicolons: boolean;
    disableTypes: boolean;
    addExtensions: boolean;
    disableLogging: boolean;
    disableManifestGeneration: boolean;
    enableRouteTreeFormatting: boolean;
    apiBase: string;
    routeTreeFileHeader: string[];
    routeTreeFileFooter: string[];
    indexToken: string;
    routeToken: string;
    enableRouteGeneration?: boolean | undefined;
    codeSplittingOptions?: CodeSplittingOptions | undefined;
    virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
    routeFilePrefix?: string | undefined;
    routeFileIgnorePattern?: string | undefined;
    __enableAPIRoutesGeneration?: boolean | undefined;
    autoCodeSplitting?: boolean | undefined;
    pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
    customScaffolding?: {
        routeTemplate?: string | undefined;
        lazyRouteTemplate?: string | undefined;
        apiTemplate?: string | undefined;
    } | undefined;
    experimental?: {
        enableCodeSplitting?: boolean | undefined;
    } | undefined;
}, {
    enableRouteGeneration?: boolean | undefined;
    codeSplittingOptions?: CodeSplittingOptions | undefined;
    target?: "react" | "solid" | undefined;
    virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
    routeFilePrefix?: string | undefined;
    routeFileIgnorePrefix?: string | undefined;
    routeFileIgnorePattern?: string | undefined;
    routesDirectory?: string | undefined;
    generatedRouteTree?: string | undefined;
    quoteStyle?: "single" | "double" | undefined;
    semicolons?: boolean | undefined;
    disableTypes?: boolean | undefined;
    addExtensions?: boolean | undefined;
    disableLogging?: boolean | undefined;
    disableManifestGeneration?: boolean | undefined;
    enableRouteTreeFormatting?: boolean | undefined;
    __enableAPIRoutesGeneration?: boolean | undefined;
    apiBase?: string | undefined;
    routeTreeFileHeader?: string[] | undefined;
    routeTreeFileFooter?: string[] | undefined;
    autoCodeSplitting?: boolean | undefined;
    indexToken?: string | undefined;
    routeToken?: string | undefined;
    pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
    customScaffolding?: {
        routeTemplate?: string | undefined;
        lazyRouteTemplate?: string | undefined;
        apiTemplate?: string | undefined;
    } | undefined;
    experimental?: {
        enableCodeSplitting?: boolean | undefined;
    } | undefined;
}>;
export declare const getConfig: (inlineConfig: Partial<Config>, root: string) => {
    target: "react" | "solid";
    routeFileIgnorePrefix: string;
    routesDirectory: string;
    generatedRouteTree: string;
    quoteStyle: "single" | "double";
    semicolons: boolean;
    disableTypes: boolean;
    addExtensions: boolean;
    disableLogging: boolean;
    disableManifestGeneration: boolean;
    enableRouteTreeFormatting: boolean;
    apiBase: string;
    routeTreeFileHeader: string[];
    routeTreeFileFooter: string[];
    indexToken: string;
    routeToken: string;
    enableRouteGeneration?: boolean | undefined;
    codeSplittingOptions?: CodeSplittingOptions | undefined;
    virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined;
    routeFilePrefix?: string | undefined;
    routeFileIgnorePattern?: string | undefined;
    __enableAPIRoutesGeneration?: boolean | undefined;
    autoCodeSplitting?: boolean | undefined;
    pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined;
    customScaffolding?: {
        routeTemplate?: string | undefined;
        lazyRouteTemplate?: string | undefined;
        apiTemplate?: string | undefined;
    } | undefined;
    experimental?: {
        enableCodeSplitting?: boolean | undefined;
    } | undefined;
};
export type Config = z.infer<typeof configSchema>;
