/**
 * Virtual file handler for API files.
 *
 * APIs appear as single TypeScript files (apis/MyAPI.ts) but are stored
 * as directories containing YAML definitions and step files.
 */
import type { FileMetadata, VirtualFileHandler, VirtualPathInfo, VirtualReadOptions, VirtualWriteOptions, VirtualDeleteOptions } from "../virtual-fs-types.js";
/**
 * Handler for virtual API files.
 *
 * Virtual path: apis/MyAPI.ts
 * Physical storage: apis/MyAPI/api.yaml + step files
 * Scratch location: .superblocks/scratch/apis%2FMyAPI.ts
 */
export declare class ApiFileHandler implements VirtualFileHandler {
    readonly type = "api";
    private readonly logger;
    matches(virtualPath: string): boolean;
    matchesPhysical(physicalPath: string): boolean;
    parse(virtualPath: string): VirtualPathInfo | undefined;
    toVirtualPath(physicalPath: string): string | undefined;
    read(virtualPath: string, options: VirtualReadOptions): Promise<string | undefined>;
    write(virtualPath: string, content: string, options: VirtualWriteOptions): Promise<void>;
    delete(virtualPath: string, options: VirtualDeleteOptions): Promise<string[]>;
    /**
     * Gets metadata for a virtual API file.
     * Checks scratch file first (for pending changes), then falls back to YAML.
     *
     * @param virtualPath - The virtual API path (e.g., "apis/MyAPI.ts")
     * @param options - Read options including app root
     * @returns FileMetadata or undefined if not found
     */
    getMetadata(virtualPath: string, options: VirtualReadOptions): Promise<FileMetadata | undefined>;
    private deleteDirectoryContents;
}
//# sourceMappingURL=api-handler.d.ts.map