///
import { Transaction, Signer, TransactionRequest, TransactionResponse } from 'ethers';
import { State, Options } from '@civic/gateway-client-core';
/**
* The properties object passed by the dApp when defining the component
*/
export type EthereumGatewayProviderProps = {
wallet: EthereumGatewayWallet | undefined;
gatekeeperNetwork: string;
stage?: string;
wrapper?: React.FC;
logo?: string;
redirectUrl?: string;
gatekeeperSendsTransaction?: boolean;
payer?: string;
handleTransaction?: (transaction: TransactionRequest) => Promise;
options?: Options;
children?: React.ReactNode;
forceRequireRefresh?: boolean;
};
export interface EthereumWalletAdapter {
publicKey?: string;
signTransaction: (transaction: Transaction) => Promise;
}
export type EthereumGatewayToken = {
readonly gatekeeperNetworkAddress: string;
readonly owner: string;
readonly state: State;
readonly identifier: string;
readonly features?: string;
readonly expiryTime?: number;
};
export type EthereumGatewayWallet = {
address: string | undefined;
signer: Signer | undefined;
};
export declare const isEthereumAddress: (address: string) => boolean;
export declare const GATEWAY_PROTOCOL_CONTRACT_ADDRESS = "0xF65b6396dF6B7e2D8a6270E3AB6c7BB08BAEF22E";
export type EvmGatekeeperNetwork = {
slotId: bigint;
address: string;
};
export declare enum NumericTokenState {
'ACTIVE' = 0,
'FROZEN' = 1,
'REVOKED' = 2
}