/**
 * PDF MCP Server
 *
 * An MCP server that displays PDFs in an interactive viewer.
 * Supports local files and remote URLs from academic sources (arxiv, biorxiv, etc).
 *
 * Tools:
 * - list_pdfs: List available PDFs
 * - display_pdf: Show interactive PDF viewer
 * - read_pdf_bytes: Stream PDF data in chunks (used by viewer)
 */
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
export declare const DEFAULT_PDF = "https://arxiv.org/pdf/1706.03762";
export declare const MAX_CHUNK_BYTES: number;
export declare const RESOURCE_URI = "ui://pdf-viewer/mcp-app.html";
/** Allowed remote origins (security allowlist) */
export declare const allowedRemoteOrigins: Set<string>;
/** Allowed local file paths (populated from CLI args) */
export declare const allowedLocalFiles: Set<string>;
export declare function isFileUrl(url: string): boolean;
export declare function isArxivUrl(url: string): boolean;
export declare function normalizeArxivUrl(url: string): string;
export declare function fileUrlToPath(fileUrl: string): string;
export declare function pathToFileUrl(filePath: string): string;
export declare function validateUrl(url: string): {
    valid: boolean;
    error?: string;
};
export declare function readPdfRange(url: string, offset: number, byteCount: number): Promise<{
    data: Uint8Array;
    totalBytes: number;
}>;
export declare function createServer(): McpServer;
