import type { DbCalculation } from '../models/directbilling/service/db.calculation.js';
import type { DbService } from '../models/directbilling/service/db.service.js';
import type { PartialDbService } from '../models/directbilling/service/partial.db.service.js';
import type { DbGenerationResponse } from '../models/directbilling/transaction/db.generation.response.js';
import type { DbNotificationRequest } from '../models/directbilling/transaction/db.notifications.request.js';
import type { DbTransaction } from '../models/directbilling/transaction/db.transaction.js';
import type { DbTransactionRequest } from '../models/directbilling/transaction/db.transaction.request.js';
import type { PartialDbTransaction } from '../models/directbilling/transaction/partial.db.transaction.js';
import type { PaginatedResponse } from '../models/response/paginated.response.js';
export declare class DirectBilling {
    private readonly key;
    private readonly password;
    private readonly client;
    constructor(key: string, password: string);
    getServices(): Promise<PartialDbService[]>;
    getServicesPaginated(page?: number, pageSize?: number): Promise<PaginatedResponse<PartialDbService>>;
    getService(id: string): Promise<DbService | undefined>;
    calculateCommission(serviceId: string, amount: number): Promise<DbCalculation | undefined>;
    getTransactions(serviceId: string): Promise<PartialDbTransaction[]>;
    getTransactionsPaginated(serviceId: string, page?: number, pageSize?: number): Promise<PaginatedResponse<PartialDbTransaction>>;
    getTransaction(serviceId: string, transactionId: string): Promise<DbTransaction | undefined>;
    createTransaction(serviceId: string, key: string, request: DbTransactionRequest): Promise<DbGenerationResponse | undefined>;
    checkNotification(key: string, body: DbNotificationRequest): DbNotificationRequest | undefined;
    generateSignature(key: string, request: DbTransactionRequest): string;
    generateSignatureNotification(key: string, request: DbNotificationRequest): string;
}
