/**
 * Prompt template loading and expansion.
 *
 * Discovers markdown prompt templates from global (~/.agent/prompts/),
 * project-local (.shortcut/prompts/), and explicit paths. Templates support
 * bash-style argument substitution ($1, $@, ${@:N}, $ARGUMENTS).
 */
import { type RuntimePromptTemplateSource } from '../../contracts/agent-resources.js';
import { expandPromptTemplate, parseCommandArgs, substituteArgs } from './prompt-template-expansion.js';
/**
 * Represents a prompt template loaded from a markdown file
 */
export interface PromptTemplate {
    name: string;
    description: string;
    content: string;
    source: RuntimePromptTemplateSource;
    filePath: string;
}
/**
 * Parse command arguments respecting quoted strings (bash-style)
 * Returns array of arguments
 */
export { expandPromptTemplate, parseCommandArgs, substituteArgs };
export interface LoadPromptTemplatesOptions {
    /** Working directory for project-local templates. Default: process.cwd() */
    cwd?: string;
    /** AgentController config directory for global templates. Default: from getPromptsDir() */
    agentDir?: string;
    /** Explicit prompt template paths (files or directories) */
    promptPaths?: string[];
    /** Include default prompt directories. Default: true */
    includeDefaults?: boolean;
}
/**
 * Load all prompt templates from:
 * 1. Global: agentDir/prompts/
 * 2. Project: cwd/{CONFIG_DIR_NAME}/prompts/
 * 3. Explicit prompt paths
 */
export declare function loadPromptTemplates(options?: LoadPromptTemplatesOptions): PromptTemplate[];
/**
 * Expand a prompt template if it matches a template name.
 * Returns the expanded content or the original text if not a template.
 */
//# sourceMappingURL=prompt-templates.d.ts.map