export type SkillRiskClass = 'read' | 'orchestrate' | 'mutate';
export type SkillScope = 'base' | 'session' | 'worker' | 'runtime-hot' | 'global';
export type CatalogOrigin = 'global' | 'repo-local' | 'legacy-local' | 'generated' | 'ephemeral';
export type CatalogSelectionPolicy = 'registry-first' | 'global-first';
export type SkillCheckpoint = 'before-read' | 'before-mutate' | 'before-verify' | 'retry';
export type HookTrigger = 'run.created' | 'before-read' | 'before-mutate' | 'before-verify' | 'retry' | 'run.failed' | 'run.verified' | 'promotion.approved' | 'memory.stored' | 'shield.blocked' | 'before-compaction';
export type AutomationTriggerMode = 'event' | 'schedule' | 'connector';
export type ConnectorKind = 'github' | 'http';
export type RuntimeBindingType = 'write_file' | 'append_file' | 'replace_text' | 'run_command';
export interface RuntimeBinding {
    type: RuntimeBindingType;
    path?: string;
    content?: string;
    search?: string;
    replace?: string;
    command?: string;
}
export interface CatalogMetadata {
    catalogOrigin: CatalogOrigin;
    catalogPath?: string;
    catalogPriority: number;
}
export interface DomainSkillSeed {
    key: string;
    name: string;
    domain: string;
    description: string;
    riskClass: SkillRiskClass;
    scope: SkillScope;
    instructions: string[];
    triggerConditions: string[];
    expectedOutputs: string[];
    guardrails: string[];
    verifierHooks: string[];
    roleAffinity: string[];
    toolBindings: RuntimeBinding[];
    promotionThresholds?: {
        minSuccesses: number;
        maxFailures: number;
    };
}
export interface WorkflowStepSeed {
    title: string;
    command?: string;
    checkpoint?: SkillCheckpoint;
    role?: string;
    bindings?: RuntimeBinding[];
}
export interface DomainWorkflowSeed {
    key: string;
    name: string;
    domain: string;
    description: string;
    triggerConditions: string[];
    expectedOutputs: string[];
    guardrails: string[];
    verifierHooks: string[];
    roleAffinity: string[];
    steps: WorkflowStepSeed[];
    promotionThresholds?: {
        minSuccesses: number;
        maxFailures: number;
    };
}
export interface ParsedMarkdownArtifact {
    frontmatter: Record<string, unknown>;
    body: string;
}
export declare function deriveCatalogMetadata(provenance: string, catalogPath?: string): CatalogMetadata;
export declare function dedupeArtifactsByPreference<T extends {
    name: string;
    scope?: string;
    catalogPriority?: number;
    rolloutStatus?: string;
    validationStatus?: string;
    version?: number;
}>(artifacts: T[], policy?: CatalogSelectionPolicy): T[];
export declare const BUILTIN_SKILL_PACKS: DomainSkillSeed[];
export declare const BUILTIN_WORKFLOW_PACKS: DomainWorkflowSeed[];
export declare function slugify(value: string): string;
export declare function detectDomains(text: string, extra?: string[]): string[];
export declare function readMarkdownArtifacts(dir: string): Array<{
    path: string;
    parsed: ParsedMarkdownArtifact;
}>;
export declare function parseMarkdownArtifact(raw: string): ParsedMarkdownArtifact;
