import { EVMContractAddress, BlockchainCommonErrors, EVMAccountAddress, P256PublicKeyComponents, P256SignatureComponents, OperatorGatewayContractError, LayerZeroEndpointId, OperatorDomain, TokenAmount, SnickerdoodleWalletUsername, WebauthnCredentialId, ClientDataJSONComponents, AuthenticatorData, InvalidParametersError } from "@snickerdoodlelabs/objects"; import { ResultAsync } from "neverthrow"; import { IBaseContract } from "../interfaces/IBaseContract.js"; import { ContractOverrides, WrappedTransactionResponse, EOperatorGatewayRoles } from "../interfaces/index.js"; export interface IOperatorGatewayContract extends IBaseContract { deployWallets(usernames: SnickerdoodleWalletUsername[], p256KeyIds: WebauthnCredentialId[][], p256Keys: P256PublicKeyComponents[][], evmAccounts: EVMContractAddress[][] | EVMAccountAddress[][], overrides?: ContractOverrides): ResultAsync; authorizeWalletsOnDestinationChain(destinationLayerZeroEndpointId: LayerZeroEndpointId, usernames: SnickerdoodleWalletUsername[], gas: bigint, nativeTokenFee: bigint, // Required fee calculated from the quote function to be sent with the transaction to pay for the LayerZero _lzReceive() call overrides?: ContractOverrides): ResultAsync; quoteAuthorizeWalletOnDestinationChain(destinationLayerZeroEndpointId: LayerZeroEndpointId, username: string, gas: bigint): ResultAsync; authorizeOperatorGatewayOnDestinationChain(destinationLayerZeroEndpointId: LayerZeroEndpointId, gas: bigint, nativeTokenFee: bigint, // Required fee calculated from the quote function to be sent with the transaction to pay for the LayerZero _lzReceive() call overrides?: ContractOverrides): ResultAsync; /** * Returns the estimated fees in native token to send the Layer Zero message to the destination chain * gas - The gas required to execute the _lzReceive() function on the destination chain */ quoteAuthorizeOperatorGatewayOnDestinationChain(destinationLayerZeroEndpointId: LayerZeroEndpointId, domain: OperatorDomain, gas: bigint): ResultAsync; addP256KeysWithP256Keys(evmAccounts: EVMContractAddress[] | EVMAccountAddress[], keyIds: WebauthnCredentialId[], authenticatorDatas: AuthenticatorData[], clientJSONDatas: ClientDataJSONComponents[], newP256KeyIds: WebauthnCredentialId[], newP256Keys: P256PublicKeyComponents[], p256Signatures: P256SignatureComponents[], overrides?: ContractOverrides): ResultAsync; grantRole(role: EOperatorGatewayRoles, address: EVMAccountAddress, overrides?: ContractOverrides): ResultAsync; revokeRole(role: EOperatorGatewayRoles, address: EVMAccountAddress, overrides?: ContractOverrides): ResultAsync; renounceRole(role: EOperatorGatewayRoles, address: EVMAccountAddress, overrides?: ContractOverrides): ResultAsync; hasRole(role: EOperatorGatewayRoles, address: EVMAccountAddress): ResultAsync; factoryAddress(): ResultAsync; computeWalletAddresses(userNames: string[]): ResultAsync; domainName(): ResultAsync; } export declare const IOperatorGatewayContract: unique symbol; //# sourceMappingURL=IOperatorGatewayContract.d.ts.map