import { ActiveView, RefundResult, TransactionDetails } from '../../types';
import { ILineItem, IRefundMode } from '../../../../../types';
export interface PaymentRefundProps {
    currency: string;
    disabled: boolean;
    lineItems: readonly ILineItem[];
    maxAmount: number;
    mode: IRefundMode;
    refreshTransaction: () => void;
    refundedAmount: number;
    refundingAmounts: readonly number[];
    setActiveView: (activeView: ActiveView) => void;
    setLocked: (locked: boolean) => void;
    transaction: TransactionDetails;
}
interface PaymentRefundFormProps extends Omit<PaymentRefundProps, 'disabled' | 'refreshTransaction' | 'setActiveView' | 'setLocked'> {
    beginRefund: () => void;
    setRefundResult: (result: RefundResult) => void;
    showDetails: () => void;
}
interface PaymentRefundResultProps extends Pick<PaymentRefundProps, 'refreshTransaction'> {
    result: RefundResult;
    showDetails: () => void;
}
declare const PaymentRefund: {
    ({ disabled, refreshTransaction, setActiveView, setLocked, ...formProps }: PaymentRefundProps): import("preact").JSX.Element;
    Form: ({ beginRefund, currency, maxAmount, mode, refundedAmount, refundingAmounts, setRefundResult, showDetails, transaction, }: PaymentRefundFormProps) => import("preact").JSX.Element;
    Result: ({ result, refreshTransaction, showDetails }: PaymentRefundResultProps) => import("preact").JSX.Element;
};
export default PaymentRefund;
//# sourceMappingURL=PaymentRefund.d.ts.map