import * as React from "react";
import { MutationFunc } from "react-apollo";
import { EthAddress } from "@joincivil/typescript-types";
import { ICivilContext } from "../";
export interface PaymentsEthFormProps {
    postId: string;
    etherToSpend: number;
    usdToSpend: number;
    shouldPublicize: boolean;
    newsroomName: string;
    paymentAddress: EthAddress;
    userAddress?: EthAddress;
    userEmail?: string;
    userChannelID?: string;
    savePayment: MutationFunc;
    setEmail: MutationFunc;
    handlePaymentSuccess(userSubmittedEmail: boolean, didSaveEmail: boolean, etherToSpend: number): void;
    handleEditPaymentType(): void;
}
export interface PaymentsEthFormState {
    email: string;
    emailState: string;
    saveEmailState: string;
    isPaymentError: boolean;
    wasEmailPrepopulated: boolean;
    promptSaveEmail: boolean;
    shouldSaveEmailToAccount: boolean;
    shouldAddEmailToMailingList: boolean;
}
export declare class PaymentsEthForm extends React.Component<PaymentsEthFormProps, PaymentsEthFormState> {
    static contextType: any;
    context: ICivilContext;
    constructor(props: PaymentsEthFormProps);
    render(): JSX.Element;
    private toggleShouldSaveEmailToAccount;
    private toggleShouldAddEmailToMailingList;
    private handleOnBlur;
    private handleOnChange;
    private saveEmail;
    private sendPayment;
    private handleTransactionHash;
    private onTransactionError;
    private postTransaction;
}
