import type { WorkspaceEntry } from "@stigmer/protos/ai/stigmer/agentic/session/v1/workspace_pb";
/**
 * Result of classifying a tool-call file path against the virtual
 * platform mount (`.stigmer/`) namespace.
 */
export type PathClassification = {
    /** The path targets a workspace source entry. */
    readonly kind: "workspace";
    /** Path relative to the workspace root, with `.stigmer/` prefix stripped. */
    readonly remainder: string;
} | {
    /** The path targets the virtual platform mount (`.stigmer/`). */
    readonly kind: "platform";
    /** Path within the platform namespace, after the `.stigmer/` prefix. */
    readonly subpath: string;
};
/**
 * Classifies whether a path targets the virtual platform mount
 * (`.stigmer/skills/`, `.stigmer/inputs/`, etc.) or the workspace.
 *
 * Mirrors the Python `classify_platform_path` in
 * `graphton.core.backends.platform_mount` — same semantics, same
 * edge-case handling (leading-slash stripping, bare `.stigmer`).
 */
export declare function classifyPath(path: string): PathClassification;
/**
 * Constructs a browsable GitHub blob URL from a git clone URL.
 *
 * Returns `null` for non-GitHub hosts (graceful degradation — the
 * caller falls back to copy-to-clipboard).
 *
 * @param gitUrl   HTTPS clone URL (e.g. `https://github.com/acme/app.git`)
 * @param branch   Branch name (may be empty for default branch)
 * @param commit   Commit SHA (takes precedence over branch when set)
 * @param relPath  Workspace-relative file path
 */
export declare function resolveGitBrowseUrl(gitUrl: string, branch: string, commit: string, relPath: string): string | null;
/**
 * Resolved action for a file path. Consumed by {@link FilePathLink}
 * to decide rendering (anchor vs. copy button).
 */
export type ResolvedPathAction = {
    /** Open the path as a navigable URL (e.g. GitHub blob link). */
    readonly action: "link";
    /** Resolved external URL to open. */
    readonly url: string;
    /** Human-readable label for the link action. */
    readonly tooltip: string;
} | {
    /** Copy the path to the clipboard (no navigable URL available). */
    readonly action: "copy";
    /** Resolved path string to copy. */
    readonly value: string;
    /** Human-readable label for the copy action. */
    readonly tooltip: string;
};
/**
 * Resolves a tool-call file path to a user action.
 *
 * Resolution strategy (mirrors the CLI's `buildHyperlinkedPath`):
 *
 * 1. **Platform paths** (`.stigmer/` prefix) → copy raw path.
 * 2. **Workspace paths** → match against workspace entries:
 *    - Single entry: treat path as relative to that entry.
 *    - Multiple entries: scan path segments for an entry name match
 *      (handles org-prefixed paths like `plantonhq/agent-fleet/...`).
 *      Unmatched paths fall back to the first entry.
 * 3. **Git source** → construct GitHub blob URL.
 * 4. **Local source** → join with absolute local path for copy.
 * 5. **Fallback** → copy the raw path.
 */
export declare function resolvePathAction(path: string, workspaceEntries: readonly WorkspaceEntry[]): ResolvedPathAction;
//# sourceMappingURL=file-path-resolver.d.ts.map