import { type OmkRuntimeScope } from "./resource-profile.js";
export interface AgentCapabilityScopes {
    mcpScope: OmkRuntimeScope;
    skillsScope: OmkRuntimeScope;
    hooksScope: OmkRuntimeScope;
    mcpNames?: string[];
    skillNames?: string[];
    hookNames?: string[];
    toolNames?: string[];
    reasoningVariant?: string;
}
export interface ScopedSubagentRef {
    alias: string;
    path: string;
    description?: string;
}
export interface ScopedAgentFileOptions {
    baseAgentFile: string;
    outputFile: string;
    role: string;
    name?: string;
    resources?: AgentCapabilityScopes;
    systemPromptPath?: string;
    subagents?: ScopedSubagentRef[];
}
export declare const OMK_AGENT_CAPABILITY_FLAGS: readonly ["OMK_MCP_ENABLED", "OMK_SKILLS_ENABLED", "OMK_HOOKS_ENABLED"];
export declare function capabilityFlagValue(scope: OmkRuntimeScope): "true" | "false";
export declare function resolveAgentCapabilityScopes(resources?: AgentCapabilityScopes): Promise<AgentCapabilityScopes>;
export declare function sanitizeAgentFilePart(value: string): string;
export declare function defaultScopedRoleAgentFile(root: string, runId: string | undefined, role: string, nodeId?: string): string;
export declare function readBaseAgentExcludeTools(baseAgentFile: string): Promise<string[]>;
export declare function yamlRelativePath(fromFile: string, toFile: string): string;
export declare function renderScopedAgentYaml(options: {
    baseAgentFile: string;
    outputFile: string;
    role: string;
    name?: string;
    resources: AgentCapabilityScopes;
    systemPromptPath?: string;
    subagents?: ScopedSubagentRef[];
    excludeTools?: string[];
}): string;
export declare function writeScopedAgentFile(options: ScopedAgentFileOptions): Promise<string>;
export declare function readRootAgentSubagents(baseAgentFile: string): Promise<Array<ScopedSubagentRef & {
    baseAgentFile: string;
    role: string;
}>>;
