import type { FilesystemRootConfig } from './config.js'; export type ReferenceTargetType = 'workspace-file' | 'filesystem-file' | 'artifact-document' | 'artifact-tree-file'; export interface ParsedTeepeeUri { namespace: 'workspace' | 'artifact' | 'fs'; /** repo-relative path for workspace, artifact id string for artifact */ resource: string; /** For fs: configured root id */ rootId?: string; /** For workspace: line number. For artifact: version number. */ line?: number; column?: number; /** For artifact: version number from #vN */ artifactVersion?: number; /** For future filetree: path within artifact */ treePath?: string; } export interface ResolvedReference { targetType: ReferenceTargetType; canonicalUri: string; displayName: string; mime: string; language: string; selection: { line: number | null; column: number | null; }; fetch: { kind: 'workspace'; path: string; } | { kind: 'filesystem'; rootId: string; path: string; } | { kind: 'artifact-document'; artifactId: number; version?: number; }; } export interface SuggestItem { type: 'workspace_file' | 'filesystem_file' | 'artifact_document'; label: string; insertText: string; canonicalUri: string; description: string; score: number; } declare function detectMimeLanguage(filePath: string): { mime: string; language: string; }; export declare function isLikelyTextBuffer(buffer: Buffer): boolean; export declare function detectPreviewMimeLanguage(filePath: string, sample?: Buffer): { mime: string; language: string; }; export declare function parseTeepeeUri(uri: string): ParsedTeepeeUri | null; export declare function normalizeLegacyHref(href: string, basePath: string, roots?: FilesystemRootConfig[]): string | null; export declare function resolveReference(uri: string, basePath: string, roots?: FilesystemRootConfig[]): ResolvedReference | null; export declare function suggestWorkspaceFiles(basePath: string, query: string, limit: number): SuggestItem[]; export declare function isPreviewable(mime: string, fileSize: number): boolean; export declare function isTextPreviewable(mime: string, fileSize: number): boolean; export { detectMimeLanguage }; //# sourceMappingURL=references.d.ts.map