import { SeoMetaDataInput } from '../../../core/entities/seo-engine/seo-engine.schema';
/**
 * Represents a single SEO file entry with its route, file path, and data
 */
export interface SeoFileEntry {
    route: string;
    filePath: string;
    data: Partial<SeoMetaDataInput>;
}
/**
 * File system manager for SEO file operations.
 * Handles reading and writing SEO files in both hierarchical and simple modes.
 */
export declare class FileSystemManager {
    private readonly seoDir;
    /**
     * Derives file path from route for hierarchical mode.
     *
     * Rules:
     * - "/" → ".seo/index.json"
     * - "/products" → ".seo/products.json"
     * - "/blog/:slug" → ".seo/blog/[slug].json"
     * - "/users/:userId/orders/:orderId" → ".seo/users/[userId]/orders/[orderId].json"
     *
     * @param route - The route path (e.g., "/blog/:slug")
     * @returns The file path (e.g., ".seo/blog/[slug].json")
     */
    derivePathFromRoute(route: string): string;
    /**
     * Derives route from file path for hierarchical mode.
     *
     * Rules:
     * - ".seo/index.json" → "/"
     * - ".seo/products.json" → "/products"
     * - ".seo/blog/[slug].json" → "/blog/:slug"
     * - ".seo/users/[userId]/orders/[orderId].json" → "/users/:userId/orders/:orderId"
     *
     * @param filePath - The file path (e.g., ".seo/blog/[slug].json")
     * @returns The route path (e.g., "/blog/:slug")
     */
    deriveRouteFromPath(filePath: string): string;
    /**
     * Reads all SEO files based on the specified mode.
     *
     * @param mode - The file layout mode ('simple' or 'hierarchical')
     * @returns Array of SEO file entries
     */
    readSeoFiles(mode: 'simple' | 'hierarchical'): Promise<SeoFileEntry[]>;
    /**
     * Writes SEO files based on the specified mode.
     *
     * @param entries - Array of SEO file entries to write
     * @param mode - The file layout mode ('simple' or 'hierarchical')
     */
    writeSeoFiles(entries: SeoFileEntry[], mode: 'simple' | 'hierarchical'): Promise<void>;
    /**
     * Reads the simple mode file (.seo/seo.json)
     */
    private readSimpleModeFile;
    /**
     * Reads all hierarchical mode files recursively from .seo/ directory
     */
    private readHierarchicalModeFiles;
    /**
     * Recursively reads JSON files from a directory
     */
    private readHierarchicalModeFilesRecursive;
    /**
     * Writes the simple mode file (.seo/seo.json)
     */
    private writeSimpleModeFile;
    /**
     * Writes hierarchical mode files
     */
    private writeHierarchicalModeFiles;
}
