import type { ConfigFile } from '@uigen-dev/core';
/**
 * Resolve base styles CSS path relative to spec directory
 * Requirements: 9.1, 9.3
 *
 * @param specDir - The directory containing the spec file
 * @returns Absolute path to .uigen/base-styles.css
 */
export declare function resolveBaseStylesPath(specDir: string): string;
/**
 * Resolve theme CSS path relative to spec directory
 * Requirements: 9.1, 9.3
 *
 * @param specDir - The directory containing the spec file
 * @returns Absolute path to .uigen/theme.css
 */
export declare function resolveThemePath(specDir: string): string;
/**
 * Resolve default CSS path relative to React package location
 * Requirements: 9.2, 9.3
 *
 * @param reactPackageRoot - The root directory of the React package
 * @returns Absolute path to packages/react/src/index.css
 */
export declare function resolveDefaultCSSPath(reactPackageRoot: string): string;
/**
 * GET /api/css
 * Read CSS content from base-styles.css and theme.css
 * Requirements: 5.1, 5.2, 5.3, 10.1
 *
 * @param specDir - The directory containing the spec file
 * @param reactPackageRoot - The root directory of the React package (unused now, kept for compatibility)
 * @returns Object with base styles and theme content
 * @throws Error if files cannot be read
 */
export declare function handleGetCSS(specDir: string, reactPackageRoot: string): {
    baseStyles: string;
    theme: string;
};
/**
 * POST /api/css
 * Write CSS content to .uigen/theme.css only
 * Base styles are read-only and not saved
 * Requirements: 5.4, 5.5, 5.6, 10.2
 *
 * @param specDir - The directory containing the spec file
 * @param content - The theme CSS content to save
 * @throws Error if content exceeds size limit or write fails
 */
export declare function handleSaveCSS(specDir: string, content: string): void;
/**
 * GET /api/config
 * Read the config file
 */
export declare function handleGetConfig(specDir: string): ConfigFile | null;
/**
 * GET /api/config/modified-time
 * Get the last modification time of the config file
 * Requirements: 24.5
 */
export declare function handleGetConfigModifiedTime(specDir: string): number | null;
/**
 * POST /api/config
 * Write the config file to .uigen/config.yaml
 *
 * Requirements: 24.1, 24.2, 24.4
 *
 * This function writes the config to .uigen/config.yaml as a clean YAML file.
 * We don't preserve comments since this is a generated config file.
 */
export declare function handleSaveConfig(specDir: string, config: ConfigFile): void;
/**
 * GET /api/spec
 * Parse the OpenAPI spec and return the structure
 */
export declare function handleGetSpec(specPath: string): Promise<any>;
/**
 * GET /api/annotations
 * Get metadata for all registered annotations
 */
export declare function handleGetAnnotations(): any[];
/**
 * Create API middleware for Vite dev server
 */
export declare function createApiMiddleware(specPath: string, specDir: string, reactPackageRoot: string): (req: any, res: any, next: any) => Promise<void>;
//# sourceMappingURL=config-api.d.ts.map