interface FileReference {
    id: string;
    path: string;
    content: string;
    hash: string;
    size: number;
    mimeType: string;
    created: string;
    expires: string;
}
export declare class FileServer {
    private logger;
    private fileCache;
    private filePathMap;
    private maxFileSize;
    private cacheDuration;
    constructor(options?: {
        maxFileSize?: number;
        cacheDuration?: number;
    });
    /**
     * Register a file for AI model access
     * Returns a reference ID that AI models can use
     */
    registerFile(filePath: string): Promise<string>;
    /**
     * Register multiple files at once
     */
    registerFiles(filePaths: string[]): Promise<Map<string, string>>;
    /**
     * Get file content by reference ID
     */
    getFile(referenceId: string): Promise<FileReference | null>;
    /**
     * Get file by path
     */
    getFileByPath(filePath: string): Promise<FileReference | null>;
    /**
     * Generate a shareable URL for OpenRouter models
     * This creates a data URL that can be passed to models
     */
    generateDataUrl(referenceId: string): Promise<string | null>;
    /**
     * Create a file manifest for AI models
     * This provides a structured way for models to understand available files
     */
    createManifest(): Promise<Record<string, any>>;
    /**
     * Clear expired files from cache
     */
    private cleanupExpired;
    /**
     * Start cleanup interval
     */
    private startCleanup;
    /**
     * Generate unique ID for file reference
     */
    private generateId;
    /**
     * Generate hash of file content
     */
    private generateHash;
    /**
     * Determine MIME type from file extension
     */
    private getMimeType;
    /**
     * Get statistics about cached files
     */
    getStats(): Record<string, any>;
    /**
     * Clear all cached files
     */
    clearCache(): void;
}
export {};
//# sourceMappingURL=file-server.d.ts.map