import type { PaymentAmountQuote, PaymentError, PaymentPageSchema, PaymentReader, PaymentResult, PaymentSchemaAction, PiPaymentEftposOpenOptions, PiPaymentEftposPage, PiPaymentEftposProps, PiPaymentUpdateInput } from '../../../sdk'; export interface PiPaymentEftposResultState { success: boolean; result?: PaymentResult; error?: PaymentError; } export interface PiPaymentEftposFlow { openVisible: boolean; page: PiPaymentEftposPage; options?: PiPaymentEftposOpenOptions; readers: PaymentReader[]; readersLoading: boolean; readersError?: string; schema?: PaymentPageSchema; resultState?: PiPaymentEftposResultState; quote?: PaymentAmountQuote; open: (options: PiPaymentEftposOpenOptions) => boolean; close: () => void; reloadReaders: () => void; selectReader: (reader: PaymentReader) => void; updateAmountQuote: (amount: string | number, surcharge?: PiPaymentUpdateInput['surcharge']) => void; submitAmount: (amount: string | number, surcharge?: PiPaymentUpdateInput['surcharge']) => void; retry: () => void; openManual: () => void; printTimeout: () => void; confirmManual: (status: 'success' | 'fail', amount?: string | number) => void; action: (action: PaymentSchemaAction, inputValues?: Record) => void; } export declare const usePiPaymentEftposFlow: (props?: PiPaymentEftposProps) => PiPaymentEftposFlow;