import { CreditsService } from './credits.service';
import { ChargeCreditsDto } from './dto/charge-credits.dto';
import { UpdateSettingsDto } from './dto/update-settings.dto';
export declare class CreditsController {
    private readonly creditsService;
    constructor(creditsService: CreditsService);
    getBalance(userId: number): Promise<{
        balance: number;
        autoCharge: boolean;
        autoChargeThreshold: number;
        autoChargeAmount: number;
        lowBalanceAlert: boolean;
    }>;
    getTransactions(userId: number, page?: string, limit?: string): Promise<{
        data: {
            id: number;
            createdAt: Date;
            userId: number;
            description: string;
            amount: number;
            type: string;
            balanceAfter: number;
            referenceType: string | null;
            referenceId: number | null;
        }[];
        pagination: {
            page: number;
            limit: number;
            total: number;
            totalPages: number;
        };
    }>;
    charge(userId: number, dto: ChargeCreditsDto): Promise<{
        balance: number;
        transaction: {
            id: number;
            createdAt: Date;
            userId: number;
            description: string;
            amount: number;
            type: string;
            balanceAfter: number;
            referenceType: string | null;
            referenceId: number | null;
        };
    }>;
    getSettings(userId: number): Promise<{
        balance: number;
        autoCharge: boolean;
        autoChargeThreshold: number;
        autoChargeAmount: number;
        lowBalanceAlert: boolean;
    }>;
    updateSettings(userId: number, dto: UpdateSettingsDto): Promise<{
        balance: number;
        autoCharge: boolean;
        autoChargeThreshold: number;
        autoChargeAmount: number;
        lowBalanceAlert: boolean;
    }>;
}
