type UseAddressInputOptions = { value: string; debounceDelay?: number; }; /** * useAddressInput Hook * * Handles address input with ENS resolution, avatar fetching, and debouncing. * - Resolves ENS names to addresses and vice versa. * - Fetches ENS avatars for resolved names. * - Debounces input to optimize RPC calls. * - Handles both address and ENS name inputs seamlessly. * * @param {UseAddressInputOptions} options - Options for address input handling. * @param {string} options.value - The input value (can be an address or ENS name). * @param {number} [options.debounceDelay=500] - (Optional) Debounce delay in milliseconds for ENS resolution. * * @returns {Object} An object containing: * - ensAddress {Address|undefined}: The resolved address from ENS name. * - isEnsAddressLoading {boolean}: Loading state for ENS address resolution. * - isEnsAddressError {boolean}: Error state for ENS address resolution. * - isEnsAddressSuccess {boolean}: Success state for ENS address resolution. * - ensAvatar {string|undefined}: The ENS avatar URL. * - isEnsAvatarLoading {boolean}: Loading state for ENS avatar fetching. * - isEnsAvatarError {boolean}: Error state for ENS avatar fetching. * - isEnsAvatarSuccess {boolean}: Success state for ENS avatar fetching. * - ensName {string|undefined}: The resolved ENS name from address. * - isEnsNameLoading {boolean}: Loading state for ENS name resolution. * - isEnsNameError {boolean}: Error state for ENS name resolution. * - isEnsNameSuccess {boolean}: Success state for ENS name resolution. * - settledValue {string|undefined}: The debounced and validated input value. * - debouncedValue {string}: The debounced input value. * * @example * const { ensAddress, ensName, ensAvatar, isEnsAddressLoading } = useAddressInput({ * value: "vitalik.eth", * debounceDelay: 300, * }); */ export declare function useAddressInput({ value, debounceDelay }: UseAddressInputOptions): { ensAddress: import("viem").GetEnsAddressReturnType | undefined; isEnsAddressLoading: boolean; isEnsAddressError: boolean; isEnsAddressSuccess: boolean; ensAvatar: import("viem").GetEnsAvatarReturnType | undefined; isEnsAvatarLoading: boolean; isEnsAvatarError: boolean; isEnsAvatarSuccess: boolean; ensName: import("viem").GetEnsNameReturnType | undefined; isEnsNameLoading: boolean; isEnsNameError: boolean; isEnsNameSuccess: boolean; settledValue: string | undefined; debouncedValue: string; }; export {}; //# sourceMappingURL=useAddressInput.d.ts.map