/**
 * Hosted data-link origin — same remote mcp-ui npx uses (`https://mcp.ui9000.com`).
 * Stdio (Cursor / Claude) POSTs payloads there so mcp.json needs no env.
 * In-process tests and loopback `MCP_BASE_URL` keep the local TTL store.
 */
export declare const DEFAULT_HOSTED_MCP_BASE_URL = "https://mcp.ui9000.com";
/** Set by `startWorkspaceServer` in hosted mode. Tests and loopback must not set this. */
export declare const REMOTE_PERSIST_ENV = "MCP_DATA_LINK_REMOTE_PERSIST";
export declare const HOSTED_DATA_LINK_PERSIST_TIMEOUT_MS = 15000;
export type PersistFetch = (input: string, init: {
    method: string;
    headers: Record<string, string>;
    body: string;
    signal?: AbortSignal;
}) => Promise<Pick<Response, 'ok' | 'status' | 'json' | 'text'>>;
export declare function isRemoteDataLinkBase(baseUrl: string): boolean;
export declare function shouldRemotePersistDataLink(env?: NodeJS.ProcessEnv): boolean;
export declare function enableRemotePersist(env: NodeJS.ProcessEnv): void;
export declare function dataLinkCreateUrl(baseUrl: string): string;
export declare function persistHostedDataLink(payload: unknown, baseUrl: string, fetchImpl?: PersistFetch): Promise<{
    id: string;
    dataUrl: string;
}>;
