export declare type BillTypes = "آب" | "برق" | "گاز" | "تلفن ثابت" | "تلفن همراه" | "عوارض شهرداری" | "سازمان مالیات" | "جرایم راهنمایی و رانندگی" | "unknown";
export declare type Currency = "toman" | "rial";
interface BillBarcodeModel {
    billId: number;
    paymentId: number;
}
interface BillResult {
    amount: number;
    type: string;
    barcode: string;
    isValid: boolean;
    isValidBillId: boolean;
    isValidBillPayment: boolean;
}
interface BillParams {
    billId?: number;
    paymentId?: number;
    currency?: Currency;
    barcode?: string;
}
declare class Bill {
    private readonly barcode;
    private readonly currency;
    private readonly billTypes;
    private billId;
    private billPayment;
    constructor({ billId, paymentId, currency, barcode }: BillParams);
    private setId;
    private setPaymentId;
    getAmount(): number;
    getBillType(): BillTypes;
    getBarcode(): string;
    findByBarcode(barcode?: string): BillBarcodeModel;
    verificationBillPayment(): boolean;
    verificationBillId(): boolean;
    private CalTheBit;
    verificationBill(): boolean;
    getResult(): BillResult;
}
export default Bill;
