import { type EIP1193Provider } from '@0xsequence/network';
import { SequenceWaaS, type ExtendedSequenceConfig, type FeeOption, type SequenceConfig, type Transaction } from '@0xsequence/waas';
import { ethers } from 'ethers';
export interface SequenceWaasConnectConfig {
    googleClientId?: string;
    appleClientId?: string;
    XClientId?: string;
    XRedirectURI?: string;
    epicAuthUrl?: string;
    appleRedirectURI?: string;
    enableConfirmationModal?: boolean;
    nodesUrl?: string;
    loginType: 'email' | 'google' | 'apple' | 'epic' | 'X' | 'guest';
}
export type BaseSequenceWaasConnectorOptions = SequenceConfig & SequenceWaasConnectConfig & Partial<ExtendedSequenceConfig>;
export declare function sequenceWaasWallet(params: BaseSequenceWaasConnectorOptions): import("wagmi").CreateConnectorFn<SequenceWaasProvider, {
    sequenceWaas: SequenceWaaS;
    sequenceWaasProvider: SequenceWaasProvider;
    params: BaseSequenceWaasConnectorOptions;
}, {
    "@kit.waasActiveLoginType": string;
    "@kit.waasGoogleIdToken": string;
    "@kit.waasEmailIdToken": string;
    "@kit.waasAppleIdToken": string;
    "@kit.waasXAuthUrl": string;
    "@kit.waasXClientId": string;
    "@kit.waasXRedirectURI": string;
    "@kit.waasXCodeVerifier": string;
    "@kit.waasXIdToken": string;
    "@kit.waasGoogleClientId": string;
    "@kit.waasAppleClientId": string;
    "@kit.waasAppleRedirectURI": string;
    "@kit.WaasEpicAuthUrl": string;
    "@kit.waasEpicIdToken": string;
    "@kit.waasSignInEmail": string;
}>;
export declare namespace sequenceWaasWallet {
    var type: "sequence-waas";
}
export declare class SequenceWaasProvider extends ethers.AbstractProvider implements EIP1193Provider {
    sequenceWaas: SequenceWaaS;
    showConfirmation: boolean;
    nodesUrl: string;
    jsonRpcProvider: ethers.JsonRpcProvider;
    requestConfirmationHandler: WaasRequestConfirmationHandler | undefined;
    feeConfirmationHandler: WaasFeeOptionConfirmationHandler | undefined;
    currentNetwork: ethers.Network;
    constructor(sequenceWaas: SequenceWaaS, showConfirmation: boolean, nodesUrl: string);
    request({ method, params }: {
        method: string;
        params?: any[];
    }): Promise<any>;
    getTransaction(txHash: string): Promise<ethers.TransactionResponse | null>;
    detectNetwork(): Promise<ethers.Network>;
    getChainId(): number;
    checkTransactionFeeOptions({ transactions, chainId }: {
        transactions: Transaction[];
        chainId: number;
    }): Promise<{
        feeQuote: string | undefined;
        feeOptions: FeeOption[] | undefined;
        isSponsored: boolean;
    }>;
}
export interface WaasRequestConfirmationHandler {
    confirmSignTransactionRequest(id: string, txs: ethers.Transaction[], chainId: number): Promise<{
        id: string;
        confirmed: boolean;
    }>;
    confirmSignMessageRequest(id: string, message: string, chainId: number): Promise<{
        id: string;
        confirmed: boolean;
    }>;
}
export interface WaasFeeOptionConfirmationHandler {
    confirmFeeOption(id: string, options: FeeOption[], txs: ethers.Transaction[], chainId: number): Promise<{
        id: string;
        feeTokenAddress?: string | null;
        confirmed: boolean;
    }>;
}
export declare function randomName(): string;
//# sourceMappingURL=sequenceWaasConnector.d.ts.map