import type { Credentials } from "./hosted.js"; /** Where a local board opens when nothing is serving it yet: the port the daemon prefers. */ export declare const LOCAL_BASE = "http://localhost:5178/b/local"; /** Where this project's boards are, and whether anything is serving them right now. A link nobody * is answering is still worth printing — but only beside the command that makes it answer. */ export interface BaseLink { url: string; live: boolean; hint?: string; } /** One board on a base. Every scheme staves serves names the board the same way, so this is the * only place that has to know how. */ export declare function boardUrl(base: string, id: string): string; /** Every board this connection can open. On a board server that is the page itself. */ export declare function workspaceUrl(base: string): string; /** How to connect an agent to Staves. A service somebody else runs serves its own copy of the * guide; everything else — a local daemon included — is pointed at the one on staves.io. */ export declare function guideUrl(base?: string): string; export interface ResolveBaseInput { dir: string; credentials?: Credentials | null; } /** Where this project's boards open. An account answers wherever it is; a local daemon has to be * running, and its lock file outlives the process that wrote it — so the lock is asked, not * believed. When nothing answers the link is still named, with the command that starts it. */ export declare function resolveBase(input: ResolveBaseInput, fetchImpl?: typeof globalThis.fetch): Promise;