import { PublicIdentifier, EPaymentType, GatewayUrl } from "@hypernetlabs/objects";
import { ITokenSelectorOption } from "../interfaces";
import { ResultMessage } from "../interfaces/objects";
declare class PaymentTypeOption {
    typeName: string;
    type: EPaymentType;
    constructor(typeName: string, type: EPaymentType);
}
interface IReducerStateReducer {
    loading: boolean;
    error: boolean;
    resultMessage: ResultMessage;
    tokenSelectorOptions: ITokenSelectorOption[];
    selectedPaymentToken?: ITokenSelectorOption;
    setSelectedPaymentToken: (param?: ITokenSelectorOption) => void;
    counterPartyAccount: PublicIdentifier;
    setCounterPartyAccount: (param?: PublicIdentifier) => void;
    amount: string;
    setAmount: (param?: string) => void;
    expirationDate: string;
    setExpirationDate: (param?: string) => void;
    requiredStake: string;
    setRequiredStake: (param?: string) => void;
    paymentType: EPaymentType;
    setPaymentType: (param?: EPaymentType) => void;
    gatewayUrl: GatewayUrl;
    paymentTypeOptions: PaymentTypeOption[];
}
export declare function usePayment(initialParams: any): IReducerStateReducer;
export {};
//# sourceMappingURL=usePayment.d.ts.map