/**
 * Dynamic Skill Routing Table
 *
 * Thin wrapper over the merged capability matrix. PreferredChannel data
 * is now stored as part of OperationCapability in the capability matrix
 * (packages/core/src/routing/capability-matrix.ts), which is the single
 * SSoT for both execution mode and channel preference.
 *
 * @task T5240
 * @epic T5149
 * @see packages/core/src/routing/capability-matrix.ts
 */
export type { PreferredChannel } from '../routing/capability-matrix.js';
/**
 * Routing entry describing the preferred channel for an operation.
 *
 * Derived from OperationCapability in the capability matrix.
 * Use this type when consuming domain-level routing results from
 * getRoutingForDomain() or getOperationsByChannel().
 */
export interface RoutingEntry {
    /** Domain name (e.g. 'tasks', 'memory', 'session') */
    domain: string;
    /** Operation name (e.g. 'show', 'find') */
    operation: string;
    /** Preferred channel for token efficiency */
    preferredChannel: 'cli' | 'either';
    /** Reason for the channel preference */
    reason: string;
}
/**
 * Look up the preferred channel for a given domain + operation.
 *
 * Reads from the merged capability matrix (single SSoT).
 *
 * @param domain - Domain name
 * @param operation - Operation name
 * @returns Preferred channel ('cli' or 'either' as fallback)
 */
export declare function getPreferredChannel(domain: string, operation: string): 'cli' | 'either';
/**
 * Get routing entries for a specific domain.
 *
 * Derives entries from the capability matrix.
 *
 * @param domain - Domain name
 * @returns All routing entries for the domain
 */
export declare function getRoutingForDomain(domain: string): RoutingEntry[];
/**
 * Get all operations that prefer a specific channel.
 *
 * Derives entries from the capability matrix.
 *
 * @param channel - Channel preference to filter by
 * @returns Matching routing entries
 */
export declare function getOperationsByChannel(channel: 'cli' | 'either'): RoutingEntry[];
//# sourceMappingURL=routing-table.d.ts.map