import type { FastifyPluginAsync } from 'fastify';
import type { RepositoryConfig } from '../../../../../frameworks/config/configLoader.js';
import type { BudgetGateway } from '../../../../../modules/token-accounting/entities/budget/budget.gateway.js';
import type { GetBudgetStatusUseCase } from '../../../../../modules/token-accounting/usecases/getBudgetStatus/getBudgetStatus.usecase.js';
import type { UpdateBudgetUseCase } from '../../../../../modules/token-accounting/usecases/updateBudget/updateBudget.usecase.js';
import type { BudgetStatusPresenter } from '../../../../../modules/token-accounting/interface-adapters/presenters/budgetStatus.presenter.js';
export interface BudgetRoutesOptions {
    getBudgetStatus: GetBudgetStatusUseCase;
    updateBudget: UpdateBudgetUseCase;
    budgetGateway: BudgetGateway;
    presenter: BudgetStatusPresenter;
    getRepositories: () => RepositoryConfig[];
    now?: () => Date;
}
export declare const budgetRoutes: FastifyPluginAsync<BudgetRoutesOptions>;
//# sourceMappingURL=budget.routes.d.ts.map