import { BigNumber, Contract, providers } from 'ethers';
export declare enum ApprovalState {
    INITIAL = "INITIAL",
    NOT_APPROVED = "NOT_APPROVED",
    PENDING = "PENDING",
    APPROVED = "APPROVED",
    FAILED = "FAILED"
}
export declare const useApprove: (contract: Contract, owner: string, spender: string, amountToApprove?: BigNumber, method?: string) => [approvalState: ApprovalState, txResponse: providers.TransactionResponse, approve: (amount: BigNumber) => Promise<void>];
