/**
 * Key Performance Indicators (KPIs) management
 *
 * Uses org.ai KPI types for standardized KPI definitions across the ecosystem.
 */
import type { KPIDefinition, TimePeriod } from './types.js';
import type { KPI as OrgKPI, KPICategory, KPITrend, KPIFrequency, KPIHistoryEntry } from 'org.ai';
export type { OrgKPI, KPICategory, KPITrend, KPIFrequency, KPIHistoryEntry };
/**
 * Convert a business-as-code KPIDefinition to an org.ai KPI
 *
 * @param definition - Business KPI definition
 * @param id - Unique identifier for the KPI
 * @returns org.ai KPI object
 */
export declare function toOrgKPI(definition: KPIDefinition, id: string): OrgKPI;
/**
 * Convert an org.ai KPI to a business-as-code KPIDefinition
 *
 * @param kpi - org.ai KPI object
 * @returns Business KPI definition
 */
export declare function fromOrgKPI(kpi: OrgKPI): KPIDefinition;
/**
 * Define Key Performance Indicators for tracking business metrics
 *
 * @example
 * ```ts
 * const businessKPIs = kpis([
 *   {
 *     name: 'Monthly Recurring Revenue',
 *     description: 'Total predictable revenue per month',
 *     category: 'financial',
 *     unit: 'USD',
 *     target: 100000,
 *     current: 85000,
 *     frequency: 'monthly',
 *     dataSource: 'Billing System',
 *     formula: 'SUM(active_subscriptions.price)',
 *   },
 *   {
 *     name: 'Customer Churn Rate',
 *     description: 'Percentage of customers lost per month',
 *     category: 'customer',
 *     unit: 'percent',
 *     target: 5,
 *     current: 3.2,
 *     frequency: 'monthly',
 *     dataSource: 'CRM',
 *     formula: '(churned_customers / total_customers) * 100',
 *   },
 *   {
 *     name: 'Net Promoter Score',
 *     description: 'Customer satisfaction and loyalty metric',
 *     category: 'customer',
 *     unit: 'score',
 *     target: 50,
 *     current: 48,
 *     frequency: 'quarterly',
 *     dataSource: 'Survey Platform',
 *   },
 * ])
 * ```
 */
export declare function kpis(definitions: KPIDefinition[]): KPIDefinition[];
/**
 * Define a single KPI
 */
export declare function kpi(definition: KPIDefinition): KPIDefinition;
/**
 * Calculate KPI achievement percentage
 */
export declare function calculateAchievement(kpi: KPIDefinition): number;
/**
 * Check if KPI meets target
 */
export declare function meetsTarget(kpi: KPIDefinition): boolean;
/**
 * Update KPI current value
 */
export declare function updateCurrent(kpi: KPIDefinition, value: number): KPIDefinition;
/**
 * Update KPI target
 */
export declare function updateTarget(kpi: KPIDefinition, target: number): KPIDefinition;
/**
 * Get KPIs by category
 */
export declare function getKPIsByCategory(kpis: KPIDefinition[], category: KPIDefinition['category']): KPIDefinition[];
/**
 * Get KPIs by frequency
 */
export declare function getKPIsByFrequency(kpis: KPIDefinition[], frequency: TimePeriod): KPIDefinition[];
/**
 * Get KPIs that meet their targets
 */
export declare function getKPIsOnTarget(kpis: KPIDefinition[]): KPIDefinition[];
/**
 * Get KPIs that don't meet their targets
 */
export declare function getKPIsOffTarget(kpis: KPIDefinition[]): KPIDefinition[];
/**
 * Calculate overall KPI health score (0-100)
 */
export declare function calculateHealthScore(kpis: KPIDefinition[]): number;
/**
 * Group KPIs by category
 */
export declare function groupByCategory(kpis: KPIDefinition[]): Map<string, KPIDefinition[]>;
/**
 * Calculate variance from target
 */
export declare function calculateVariance(kpi: KPIDefinition): number;
/**
 * Calculate variance percentage from target
 */
export declare function calculateVariancePercentage(kpi: KPIDefinition): number;
/**
 * Format KPI value with unit
 */
export declare function formatValue(kpi: KPIDefinition, value?: number): string;
/**
 * Compare KPI performance over time
 */
export declare function comparePerformance(current: KPIDefinition, previous: KPIDefinition): {
    change: number;
    changePercent: number;
    improved: boolean;
};
/**
 * Validate KPI definitions
 */
export declare function validateKPIs(kpis: KPIDefinition[]): {
    valid: boolean;
    errors: string[];
};
//# sourceMappingURL=kpis.d.ts.map