/**
 * Usage Command - Usage Management and Connectivity Verification
 *
 * ARCHITECTURE:
 * - Main command issues direct HTTP GET request to agentics-usage-ledger
 * - Subcommands provide local stubbed data for history/limits
 * - reset requires --force flag
 *
 * SUBCOMMANDS:
 * - (default) Check current usage balance via ledger service
 * - history   Show usage history (stubbed)
 * - limits    Show usage limits (stubbed)
 * - reset     Reset usage counters (requires --force)
 *
 * PURPOSE:
 * - Verify CLI-to-usage-ledger connectivity
 * - Display current balance or usage information
 * - Provide org-scoped usage data
 */
import type { CommandOptions } from '../types/index.js';
export declare const USAGE_EXIT_CODES: {
    readonly SUCCESS: 0;
    readonly SERVICE_UNAVAILABLE: 69;
    readonly TIMEOUT: 75;
    readonly NETWORK_ERROR: 120;
    readonly UNEXPECTED_ERROR: 1;
};
export interface UsageBalance {
    current_balance?: number;
    credits_remaining?: number;
    credits_used?: number;
    total_credits?: number;
    currency?: string;
    last_updated?: string;
}
export interface UsageCommandResult {
    balance: UsageBalance | null;
    connected: boolean;
    timing: number;
    message: string;
}
/**
 * Format usage balance for human-readable terminal output.
 */
export declare function formatUsageForDisplay(result: UsageCommandResult): string;
/**
 * Execute the usage command.
 *
 * Verifies connectivity to the usage-ledger service and returns
 * current balance/usage information.
 */
export declare function executeUsageCommand(options: CommandOptions): Promise<UsageCommandResult>;
export interface UsageHistoryInput {
    limit?: number;
    since?: string;
}
export interface UsageHistoryEntry {
    id: string;
    action: string;
    credits_used: number;
    timestamp: string;
    command?: string;
    correlation_id?: string;
}
export interface UsageHistoryResult {
    history: UsageHistoryEntry[];
    count: number;
    timing: number;
}
export interface UsageLimitsInput {
    org_id?: string;
}
export interface UsageLimits {
    daily_limit: number;
    monthly_limit: number;
    concurrent_limit: number;
    rate_limit_per_minute: number;
    current_daily_usage: number;
    current_monthly_usage: number;
    reset_at: string;
}
export interface UsageLimitsResult {
    limits: UsageLimits;
    timing: number;
}
export interface UsageResetInput {
    force: boolean;
}
export interface UsageResetResult {
    reset: boolean;
    previous_usage: number;
    advisory: boolean;
    timing: number;
    message: string;
}
export declare function formatHistoryForDisplay(history: UsageHistoryEntry[]): string;
export declare function formatLimitsForDisplay(limits: UsageLimits): string;
/**
 * Get usage history - returns stubbed data
 */
export declare function executeUsageHistoryCommand(input: UsageHistoryInput, _options: CommandOptions): Promise<UsageHistoryResult>;
/**
 * Get usage limits - returns stubbed data
 */
export declare function executeUsageLimitsCommand(_input: UsageLimitsInput, _options: CommandOptions): Promise<UsageLimitsResult>;
/**
 * Reset usage counters - requires --force flag
 */
export declare function executeUsageResetCommand(input: UsageResetInput, options: CommandOptions): Promise<UsageResetResult>;
//# sourceMappingURL=usage.d.ts.map