/** Loader-facing types for prompts, skills, themes, agents.md, and extensions. */
import type { RuntimeExtensionsResult } from './extension-runtime.js';
export declare const RuntimeSkillSource: {
    readonly Package: "package";
    readonly Path: "path";
    readonly Project: "project";
    readonly User: "user";
};
export type RuntimeSkillSource = (typeof RuntimeSkillSource)[keyof typeof RuntimeSkillSource];
export type RuntimePromptTemplateSource = typeof RuntimeSkillSource.Path | typeof RuntimeSkillSource.Project | typeof RuntimeSkillSource.User;
export interface RuntimePromptTemplate {
    name: string;
    description: string;
    content: string;
    source: RuntimePromptTemplateSource;
    filePath: string;
}
export interface RuntimeSkill {
    name: string;
    description: string;
    filePath: string;
    baseDir: string;
    source: RuntimeSkillSource;
    disableModelInvocation: boolean;
}
export interface RuntimeAgentsFile {
    path: string;
    content: string;
}
export interface RuntimePathMetadata {
    source: string;
    scope: 'user' | 'project' | 'temporary';
    origin: 'package' | 'top-level';
    baseDir?: string;
}
export interface RuntimeResourceExtensionPaths {
    skillPaths?: Array<{
        path: string;
        metadata: RuntimePathMetadata;
    }>;
    promptPaths?: Array<{
        path: string;
        metadata: RuntimePathMetadata;
    }>;
}
export interface RuntimeResourceDiagnostic {
    type: 'warning' | 'error' | 'collision';
    message: string;
    path?: string;
    collision?: {
        resourceType: 'agent' | 'extension' | 'skill' | 'prompt' | 'theme';
        name: string;
        winnerPath: string;
        loserPath: string;
        winnerSource?: string;
        loserSource?: string;
    };
}
export interface RuntimeResourceLoader {
    getExtensions(): RuntimeExtensionsResult;
    getSkills(): {
        skills: RuntimeSkill[];
        diagnostics: RuntimeResourceDiagnostic[];
    };
    getPrompts(): {
        prompts: RuntimePromptTemplate[];
        diagnostics: RuntimeResourceDiagnostic[];
    };
    getThemes(): {
        themes: unknown[];
        diagnostics: RuntimeResourceDiagnostic[];
    };
    getSystemPrompt(): string | undefined;
    getAgentsFiles(): {
        agentsFiles: RuntimeAgentsFile[];
    };
    getPathMetadata(): Map<string, RuntimePathMetadata>;
    extendResources(paths: RuntimeResourceExtensionPaths): void;
    reload(): Promise<void>;
}
//# sourceMappingURL=agent-resources.d.ts.map