import path from 'node:path';
/**
 * Generate netlify.toml content from config
 */
export declare function generateNetlifyToml(config: NetlifyConfig): string;
/**
 * Detect project configuration from filesystem
 */
export declare function detectProjectConfig(directory: string): Promise<ProjectConfig>;
/**
 * Generate default Netlify config for an stx project
 */
export declare function createDefaultNetlifyConfig(projectConfig?: ProjectConfig): NetlifyConfig;
/**
 * Write netlify.toml to a directory
 */
export declare function writeNetlifyConfig(directory: string, config?: NetlifyConfig): Promise<string>;
/**
 * Check if netlify.toml exists
 */
export declare function hasNetlifyConfig(directory: string): boolean;
/**
 * Read existing netlify.toml (basic parsing)
 */
export declare function readNetlifyConfig(directory: string): Promise<string | null>;
// ============================================================================
// Types
// ============================================================================
export declare interface NetlifyConfig {
  build: {
    command: string
    publish: string
    functions?: string
    edge_functions?: string
    environment?: Record<string, string>
  }
  functions?: {
    directory?: string
    node_bundler?: 'esbuild' | 'nft'
    external_node_modules?: string[]
  }
  edge_functions?: Array<{
    function: string
    path: string
  }>
  redirects?: Array<{
    from: string
    to: string
    status?: number
    force?: boolean
    conditions?: Record<string, string>
  }>
  headers?: Array<{
    for: string
    values: Record<string, string>
  }>
  plugins?: Array<{
    package: string
    inputs?: Record<string, unknown>
  }>
  context?: Record<string, {
    command?: string
    publish?: string
    environment?: Record<string, string>
  }>
}
export declare interface ProjectConfig {
  framework?: 'stx' | 'static' | 'spa'
  buildCommand?: string
  outputDir?: string
  functionsDir?: string
  edgeFunctionsDir?: string
  nodeVersion?: string
  isSPA?: boolean
}
