export type InternalURLScheme = "pr" | "issue" | "agent" | "skill" | "rule" | "conflict";
export interface InternalURL {
    scheme: InternalURLScheme;
    owner?: string;
    repo?: string;
    id: string;
    path?: string;
}
export interface InternalURLResolveContext {
    conflictHistory?: {
        render(id: string): string | null;
    };
}
export interface InternalURLHandler {
    scheme: InternalURLScheme;
    resolve(url: InternalURL, context: InternalURLResolveContext): Promise<string | null> | string | null;
}
export declare function parseInternalURL(url: string): InternalURL | null;
export declare function isInternalURL(path: string): boolean;
export declare class InternalURLRouter {
    #private;
    constructor(handlers?: InternalURLHandler[]);
    register(handler: InternalURLHandler): void;
    supports(scheme: InternalURLScheme): boolean;
    resolve(url: InternalURL, context?: InternalURLResolveContext): Promise<string | null>;
}
export declare function createDefaultInternalURLRouter(): InternalURLRouter;
export declare function resolveInternalURL(url: InternalURL, context?: InternalURLResolveContext, router?: InternalURLRouter): Promise<string | null>;
export declare function formatInternalURL(url: InternalURL): string;
//# sourceMappingURL=internal-urls.d.ts.map