import { LitElement, PropertyValues } from "lit";
declare const TRANSACTION_TYPE: {
    readonly TILL_NUMBER: "till";
    readonly PAYBILL: "paybill";
    readonly SEND_MONEY: "phone";
};
type TransactionType = (typeof TRANSACTION_TYPE)[keyof typeof TRANSACTION_TYPE];
export interface PesaQRProps {
    /** Type of payment: till, paybill, or phone */
    type: "till" | "paybill" | "phone";
    /** Till number for till payments */
    tillNumber?: string;
    /** Paybill number for paybill payments */
    paybillNumber?: string;
    /** Account number for paybill payments */
    accountNumber?: string;
    /** Phone number for send money payments */
    phoneNumber?: string;
    /** Payment amount */
    amount: string;
    /** QR code width in pixels */
    width?: number;
}
export declare class PesaQR extends LitElement {
    type: TransactionType;
    tillNumber: string;
    paybillNumber: string;
    accountNumber: string;
    phoneNumber: string;
    amount: string;
    width: number | null;
    theme: "light" | "dark";
    loading: boolean;
    error: string | null;
    static styles: import("lit").CSSResult;
    constructor();
    render(): import("lit-html").TemplateResult<1>;
    updated(changedProperties: PropertyValues): void;
    generateQRCode(): void;
}
declare global {
    interface HTMLElementTagNameMap {
        "pesa-qr": PesaQR;
    }
}
export {};
//# sourceMappingURL=pesaqr.d.ts.map