interface RouteCondition {
    type: 'header' | 'cookie' | 'host' | 'query';
    key: string;
    value?: string;
}
interface NextRedirect {
    source: string;
    destination: string;
    permanent: boolean;
    basePath?: false;
    locale?: false;
    has?: RouteCondition[];
    missing?: RouteCondition[];
}
interface NextRewrite {
    source: string;
    destination: string;
    basePath?: false;
    locale?: false;
    has?: RouteCondition[];
    missing?: RouteCondition[];
}
interface NextHeader {
    source: string;
    headers: Array<{
        key: string;
        value: string;
    }>;
    basePath?: false;
    locale?: false;
    has?: RouteCondition[];
    missing?: RouteCondition[];
}
interface NextRewritesConfig {
    beforeFiles?: NextRewrite[];
    afterFiles?: NextRewrite[];
    fallback?: NextRewrite[];
}
interface ResolvedNextConfig {
    basePath: string;
    trailingSlash: boolean;
    redirects: NextRedirect[];
    rewrites: NextRewritesConfig;
    headers: NextHeader[];
}
/**
 * Options for config generation
 */
export interface ConfigGenOptions {
    /** Custom header comment */
    header?: string;
    /** Whether to inline rules or import them */
    inlineRules?: boolean;
    /** Path to config file if not inlining */
    configPath?: string;
}
/**
 * Generated config output
 */
export interface GeneratedConfig {
    /** config.ts content */
    content: string;
}
/**
 * Generate config integration file from next.config
 */
export declare function generateConfigFile(nextConfig: ResolvedNextConfig, options?: ConfigGenOptions): GeneratedConfig;
/**
 * Generate a minimal config file when no next.config features are used
 */
export declare function generateEmptyConfigFile(options?: ConfigGenOptions): GeneratedConfig;
export {};
//# sourceMappingURL=config-gen.d.ts.map