/**
 * skills domain contract: read-only skill catalog lookup addressed by session.
 * The session's header cwd resolves to the canonical project root host-side —
 * the client never submits a raw path, and skill lookup never creates or
 * resumes an Agent.
 */
import type { SessionId } from '@deepseek-ai/dsh-session/types';
import type { RpcRequest, RpcResponse } from './rpc.ts';
/** Skill catalog row (wire projection of the host SkillSummary; provider/source vocabulary stays host-side). */
export interface SkillEntry {
    /** Kebab-case identifier the user references as `/name` in the composer. */
    readonly name: string;
    /** Short routing description. */
    readonly description: string;
    /** Optional extra routing guidance. */
    readonly whenToUse?: string;
    /** False marks a user-only skill (`disable-model-invocation`): invocable here, absent from the model catalog. */
    readonly modelInvocable: boolean;
}
/**
 * Skill-domain unary methods (the map key skill.* of RpcMethodMap). Listing
 * is the domain's only RPC: invocation itself is a plain `session.prompt`
 * whose leading `/name` token the host recognizes at the pre-step boundary
 * (`dsh-tool-skill` injects the rendered body there), so every client shares
 * one deterministic path with no dedicated invocation wire.
 */
export interface SkillsApi {
    /** Lists the user-invocable skill catalog for the session's project. */
    list(request: RpcRequest<{
        sessionId: SessionId;
    }>): Promise<RpcResponse<{
        skills: readonly SkillEntry[];
    }>>;
}
//# sourceMappingURL=skills.d.ts.map