/**
 * Semantic Governance Service - Main Service
 *
 * Orchestrates all semantic governance validators to provide comprehensive
 * protection against the "confused deputy" problem in AI agents.
 *
 * Features:
 * - Complete agent interaction validation
 * - Pre-action checks (before agent acts)
 * - Post-action checks (after agent produces output)
 * - Credential loading and management
 * - Metrics emission for observability
 *
 * @packageDocumentation
 * @module @vorion/semantic-governance/service
 */
import { Registry } from 'prom-client';
import { VorionError } from '../common/errors.js';
import { InstructionValidator } from './instruction-validator.js';
import { OutputValidator } from './output-validator.js';
import { InferenceValidator } from './inference-validator.js';
import { ContextValidator } from './context-validator.js';
import { DualChannelEnforcer } from './dual-channel.js';
import { SemanticCredentialManager } from './credential-manager.js';
import type { AgentIdentity, AgentInteraction, ActionRequest, ActionRecord, SemanticGovernanceCredential, SemanticValidationResult, PreActionResult, PostActionResult } from './types.js';
/**
 * Error thrown when semantic governance validation fails
 */
export declare class SemanticGovernanceError extends VorionError {
    code: string;
    statusCode: number;
    constructor(message: string, details?: Record<string, unknown>);
}
/**
 * Semantic Governance Service
 *
 * Main service that orchestrates all semantic governance validators.
 */
export declare class SemanticGovernanceService {
    private readonly instructionValidator;
    private readonly outputValidator;
    private readonly inferenceValidator;
    private readonly contextValidator;
    private readonly dualChannelEnforcer;
    private readonly credentialManager;
    private readonly credentialCache;
    /**
     * Create a new SemanticGovernanceService
     *
     * @param instructionValidator - Instruction integrity validator
     * @param outputValidator - Output schema validator
     * @param inferenceValidator - Inference scope validator
     * @param contextValidator - Context authentication validator
     * @param dualChannelEnforcer - Control/data plane enforcer
     * @param credentialManager - Optional credential manager (uses default if not provided)
     */
    constructor(instructionValidator: InstructionValidator, outputValidator: OutputValidator, inferenceValidator: InferenceValidator, contextValidator: ContextValidator, dualChannelEnforcer: DualChannelEnforcer, credentialManager?: SemanticCredentialManager);
    /**
     * Validate a complete agent interaction
     *
     * @param interaction - The agent interaction to validate
     * @returns Semantic validation result
     */
    validateInteraction(interaction: AgentInteraction): Promise<SemanticValidationResult>;
    /**
     * Perform pre-action validation
     *
     * @param agent - Agent identity
     * @param action - Action request
     * @returns Pre-action result
     */
    preActionCheck(agent: AgentIdentity, action: ActionRequest): PreActionResult;
    /**
     * Perform post-action validation
     *
     * @param agent - Agent identity
     * @param action - Action record
     * @returns Post-action result
     */
    postActionCheck(agent: AgentIdentity, action: ActionRecord): PostActionResult;
    /**
     * Load credential for an agent
     *
     * @param agentId - Agent identifier (DID)
     * @returns Semantic governance credential or undefined
     */
    loadCredential(agentId: string): Promise<SemanticGovernanceCredential | undefined>;
    /**
     * Clear the credential cache
     */
    clearCredentialCache(): void;
    /**
     * Get metrics registry for this service
     */
    getMetricsRegistry(): Registry;
    /**
     * Run pre-action checks
     */
    private runPreActionChecks;
    /**
     * Run post-action checks
     */
    private runPostActionChecks;
}
/**
 * Create a SemanticGovernanceService with default validators
 *
 * @param credential - Optional credential to use for validation
 * @returns Configured SemanticGovernanceService
 */
export declare function createSemanticGovernanceService(credential?: SemanticGovernanceCredential): SemanticGovernanceService;
/**
 * Get metrics as Prometheus text format
 */
export declare function getSemanticGovernanceMetrics(): Promise<string>;
/**
 * Get metrics content type
 */
export declare function getSemanticGovernanceMetricsContentType(): string;
//# sourceMappingURL=service.d.ts.map