export interface BudgetEntry {
    id: string;
    companyId: string;
    agentId: string;
    periodStart: string;
    periodEnd: string;
    budgetCents: number;
    spentCents: number;
    createdAt: string;
}
export interface SpendEvent {
    id: string;
    companyId: string;
    agentId: string;
    runId: string;
    model: string;
    inputTokens: number;
    outputTokens: number;
    costCents: number;
    timestamp: string;
}
export interface BudgetStatus {
    agentId: string;
    budgetCents: number;
    spentCents: number;
    remainingCents: number;
    percentUsed: number;
    overBudget: boolean;
}
export declare function listBudgets(projectDir: string, companyId: string): Promise<BudgetEntry[]>;
export declare function getBudget(projectDir: string, companyId: string, agentId: string, periodStart?: string): Promise<BudgetEntry | undefined>;
export declare function createBudget(projectDir: string, companyId: string, input: {
    agentId: string;
    budgetCents: number;
    periodStart: string;
    periodEnd: string;
}, now?: Date): Promise<BudgetEntry>;
export declare function updateBudget(projectDir: string, companyId: string, id: string, input: {
    budgetCents?: number;
    spentCents?: number;
    periodEnd?: string;
}, now?: Date): Promise<BudgetEntry>;
export declare function recordSpend(projectDir: string, companyId: string, input: {
    agentId: string;
    runId: string;
    model: string;
    inputTokens: number;
    outputTokens: number;
    costCents: number;
}, now?: Date): Promise<SpendEvent>;
export declare function listSpendEvents(projectDir: string, companyId: string, filter?: {
    agentId?: string;
    runId?: string;
}): Promise<SpendEvent[]>;
/**
 * Check whether an agent is over budget for the current period.
 */
export declare function checkBudgetStatus(projectDir: string, companyId: string, agentId: string, now?: Date): Promise<BudgetStatus | undefined>;
/**
 * Check all agents in a company for budget overages.
 */
export declare function listBudgetStatuses(projectDir: string, companyId: string, now?: Date): Promise<BudgetStatus[]>;
//# sourceMappingURL=budgets.d.ts.map