type JsonObject = Record<string, unknown>;
interface RunMcpOptions {
    daemonUrl: string | URL;
}
interface ActiveContext {
    active?: boolean;
    projectId?: string;
    projectName?: string | null;
    fileName?: string | null;
    ageMs?: number | null;
}
type ResolvedProject = {
    id: string;
    name: string;
    source: 'uuid' | 'exact' | 'slug' | 'substring';
};
interface ProjectFileBundleEntry {
    name: string;
    mime: string;
    size: number | null;
    content: string | null;
    binary: boolean;
}
export declare function runMcpStdio({ daemonUrl }: RunMcpOptions): Promise<void>;
declare function resolveProjectArg(baseUrl: string, arg: unknown): Promise<{
    id: string;
    resolved: ResolvedProject | null;
    active: ActiveContext | null;
}>;
declare function resolveProjectId(baseUrl: string, arg: unknown): Promise<ResolvedProject>;
declare function getFile(baseUrl: string, project: string, relPath: string, active: ActiveContext | null, resolved?: ResolvedProject | null, offset?: number, limit?: number): Promise<{
    isError: boolean;
    content: {
        type: string;
        text: string;
    }[];
} | {
    content: {
        type: string;
        text: string;
    }[];
}>;
declare function withActiveEcho<T extends JsonObject>(payload: T, active: ActiveContext | null, resolved?: ResolvedProject | null): T & JsonObject;
declare function getArtifact(baseUrl: string, projectArg: unknown, entryArg: unknown, includeMode: unknown, maxBytesArg: unknown): Promise<{
    content: {
        type: string;
        text: string;
    }[];
}>;
declare function fetchProjectFile(baseUrl: string, projectId: string, relPath: string, remainingBytes?: number): Promise<ProjectFileBundleEntry>;
declare function extractRelativeRefs(text: string, fromPath: string, fromMime: string): string[];
export { extractRelativeRefs, resolveProjectId, resolveProjectArg, withActiveEcho, fetchProjectFile, getArtifact, getFile };
