/**
 * SDK mode path validator implementation.
 *
 * Handles path validation for the nested template structure:
 * - APIs: server/apis/ApiName/api.ts
 * - Pages: client/pages/PageName/index.tsx
 * - App root: client/App.tsx
 * - No scope files in SDK mode
 */
import type { PathValidator } from "./path-validator.js";
/**
 * Path validator for SDK mode (nested structure).
 *
 * In SDK mode:
 * - APIs are at server/apis/ (e.g., server/apis/MyApi/api.ts)
 * - Pages are at client/pages/ (e.g., client/pages/Home/index.tsx)
 * - App root is client/App.tsx
 * - Scope files do not exist in SDK mode
 */
export declare class SdkPathValidator implements PathValidator {
    readonly apiPrefix = "server/apis";
    readonly pagesPrefix = "client/pages";
    readonly appRoot = "client/App.tsx";
    /**
     * Checks if a path is an API file path.
     * In SDK mode, API files start with "server/apis/".
     */
    isApiFilePath(_filePath: string): boolean;
    /**
     * Checks if a path is a direct page path (client/pages/xyz.tsx rather than client/pages/xyz/index.tsx).
     * Direct page paths are not allowed - pages must be in subdirectories.
     */
    isDirectPagePath(filePath: string): boolean;
    /**
     * Checks if a path is a scope file.
     * SDK mode does not use scope files, so this always returns false.
     */
    isScopeFile(_filePath: string): boolean;
    /**
     * Get directories that are protected from modification.
     * In SDK mode, pages are under client/pages, not at root level.
     */
    getProtectedDirectories(): readonly string[];
    /**
     * Check if a path should bypass blacklist checks.
     * In SDK mode, server/apis/ and client/pages/ directories have special handling.
     */
    shouldBypassBlacklist(relativePath: string, _firstDir: string): boolean;
}
//# sourceMappingURL=sdk-path-validator.d.ts.map