import z from "zod"; import { Locale } from "./i18n"; import { AddrLabel } from "./model"; export declare const zEAccount: z.ZodObject<{ addr: z.ZodEffects; /** Daimo account name */ name: z.ZodOptional; /** Daimo account registration time */ timestamp: z.ZodOptional; /** Daimo account inviter address */ inviter: z.ZodOptional>; /** Label for special addresses like the faucet */ label: z.ZodOptional>; /** ENS name */ ensName: z.ZodOptional; /** Linked profiles for a Daimo account */ linkedAccounts: z.ZodOptional; id: z.ZodString; fid: z.ZodNumber; custody: z.ZodEffects; message: z.ZodString; signature: z.ZodEffects; verifications: z.ZodArray; username: z.ZodOptional; displayName: z.ZodOptional; pfpUrl: z.ZodOptional; bio: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "farcaster"; message: string; id: string; fid: number; custody: `0x${string}`; signature: `0x${string}`; verifications: string[]; username?: string | undefined; displayName?: string | undefined; pfpUrl?: string | undefined; bio?: string | undefined; }, { type: "farcaster"; message: string; id: string; fid: number; custody: string; signature: string; verifications: string[]; username?: string | undefined; displayName?: string | undefined; pfpUrl?: string | undefined; bio?: string | undefined; }>, "many">>; /** Profile picture */ profilePicture: z.ZodOptional; }, "strip", z.ZodTypeAny, { addr: `0x${string}`; name?: string | undefined; timestamp?: number | undefined; inviter?: `0x${string}` | undefined; label?: AddrLabel | undefined; ensName?: string | undefined; linkedAccounts?: { type: "farcaster"; message: string; id: string; fid: number; custody: `0x${string}`; signature: `0x${string}`; verifications: string[]; username?: string | undefined; displayName?: string | undefined; pfpUrl?: string | undefined; bio?: string | undefined; }[] | undefined; profilePicture?: string | undefined; }, { addr: string; name?: string | undefined; timestamp?: number | undefined; inviter?: string | undefined; label?: AddrLabel | undefined; ensName?: string | undefined; linkedAccounts?: { type: "farcaster"; message: string; id: string; fid: number; custody: string; signature: string; verifications: string[]; username?: string | undefined; displayName?: string | undefined; pfpUrl?: string | undefined; bio?: string | undefined; }[] | undefined; profilePicture?: string | undefined; }>; /** EAccount represents any Ethereum address + display name(s). */ export type EAccount = z.infer; /** EAccountSearchResult is an EAccount + shows what we matched on. */ export interface EAccountSearchResult extends EAccount { originalMatch: string; } /** Returns eg "bob", "alice.eth", or "0x123..." */ export declare function getEAccountStr(eAccount: EAccount): string; export declare function getAddressContraction(address: string, length?: number): string; /** Gets a display name or 0x... address contraction. */ export declare function getAccountName(acc: EAccount, locale?: Locale): string; /** Whether we can (potentially) send funds to this address. */ export declare function canSendTo(acc: EAccount): boolean; export declare function canRequestFrom(acc: EAccount): boolean; /** True if account has a display name, false if bare address. */ export declare function hasAccountName(acc: EAccount): boolean;