/** A single .claude/agents/<name>.md subagent definition. */
export interface SubagentDefinition {
    /** Slug used as the file basename (e.g. "planu-spec-implementer"). */
    slug: string;
    /** Human-readable name shown in the agent picker. */
    name: string;
    /** One-sentence description of what the agent does. */
    description: string;
    /** Planu / Claude Code tools the agent is allowed to call. */
    tools: string[];
}
/** Metadata for a single registered MCP resource. */
export interface McpResourceMeta {
    /** Resource name shown to the LLM. */
    name: string;
    /** planu:// URI for the resource. */
    uri: string;
    /** One-sentence description of the resource content. */
    description: string;
    /** MIME type of the response body. */
    mimeType: string;
}
/** Metadata for a single registered MCP prompt (slash-command). */
export interface McpPromptMeta {
    /** Prompt name shown in the slash picker. */
    name: string;
    /** One-sentence description of what the prompt does. */
    description: string;
    /** Named argument slots accepted by the prompt. */
    args: McpPromptArg[];
}
/** A single typed argument slot in an MCP prompt. */
export interface McpPromptArg {
    /** Argument name (camelCase). */
    name: string;
    /** Description shown in the slot picker. */
    description: string;
    /** Whether the argument must be provided. */
    required: boolean;
}
/** A single .claude/skills/<name>.md skill definition. */
export interface SkillMeta {
    /** Slug used as the file basename (e.g. "planu-new-spec"). */
    slug: string;
    /** Human-readable name in the skill frontmatter. */
    name: string;
    /** One-sentence description. */
    description: string;
    /** Natural-language trigger phrases that auto-invoke the skill. */
    triggers: string[];
}
/** Result returned by scaffoldPlanuSubagents() and scaffoldPlanuSkills(). */
export interface UxScaffoldResult {
    /** Paths of files that were newly created. */
    created: string[];
    /** Paths of files that already existed and were skipped. */
    skipped: string[];
}
/** Internal spec entry shape used when reading from data/projects/{hash}/specs.json. */
export interface SpecDataEntry {
    id: unknown;
    title: unknown;
    status: unknown;
    type: unknown;
    updatedAt: unknown;
    createdAt: unknown;
}
/** Internal resource definition shape for registerPlanuMcpResources. */
export interface McpResourceRegistration {
    meta: McpResourceMeta;
    handler: () => Promise<string>;
}
//# sourceMappingURL=claude-code-ux.d.ts.map