import type { SignedOperation } from "@ledgerhq/types-live"; import type { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets"; import { AccountFilters, CurrencyFilters } from "./filters"; import { Account as PlatformAccount, Currency as PlatformCurrency, FAMILIES } from "@ledgerhq/live-app-sdk"; import { z } from "zod"; export declare const FAMILIES_MAPPING_PLATFORM_TO_LL: { readonly ethereum: "evm"; readonly ripple: "xrp"; }; export declare const FAMILIES_MAPPING_LL_TO_PLATFORM: Record<"evm" | "xrp", "ethereum" | "ripple">; /** * this is a hack to add the "evm" family to the list of supported families of * the deprecated @ledgerhq/live-app-sdk, still used by some live apps. * Since "evm" will be (is) the new family of original currencies under the * "ethereum" family, following the "ethereum" / "evm" families merge * (and removal of the "ethereum" family) */ export declare const PLATFORM_FAMILIES: ("evm" | "xrp" | FAMILIES)[]; export { FAMILIES as PLATFORM_FAMILIES_ENUM }; export type { Account as PlatformAccount, Currency as PlatformCurrency, Unit as PlatformUnit, Transaction as PlatformTransaction, CryptoCurrency as PlatformCryptoCurrency, ERC20TokenCurrency as PlatformERC20TokenCurrency, } from "@ledgerhq/live-app-sdk"; export { CurrencyType as PlatformCurrencyType, TokenStandard as PlatformTokenStandard, } from "@ledgerhq/live-app-sdk"; export type TranslatableString = { en: string; [locale: string]: string; }; export type Loadable = { error: any | null; isLoading: boolean; value: T | null; }; export type AppPlatform = "ios" | "android" | "desktop"; export type AppBranch = "stable" | "experimental" | "soon" | "debug"; export type Visibility = "complete" | "searchable" | "deep"; export type ParamsWithDappUrl = { dappUrl: string; }; export type ParamsWithNetwork = { networks: Array; }; export type LiveAppManifestParamsDappWithNetwork = ParamsWithDappUrl & ParamsWithNetwork; export type LiveAppManifestParamsDappWithNetworkAndNanoApp = LiveAppManifestParamsDappWithNetwork & { nanoApp: string; dappName: string; }; export type LiveAppManifestParamsDapp = LiveAppManifestParamsDappWithNetwork | LiveAppManifestParamsDappWithNetworkAndNanoApp; export type LiveAppManifestParamsWebApp = { currencies: string[]; webAppName: string; webUrl: string; }; export type LiveAppManifestParams = LiveAppManifestParamsDapp | LiveAppManifestParamsWebApp | ParamsWithNetwork | Array; export type LiveAppManifestParamsNetwork = { currency: string; chainID: number; nodeURL?: string; }; export type DappProviders = "evm"; export type LiveAppManifestDapp = { provider: DappProviders; networks: Array; nanoApp: string; dependencies?: string[]; }; export type LiveAppManifest = { id: string; author?: string; private?: boolean; cacheBustingId?: number; nocache?: boolean; name: string; url: string | URL; params?: LiveAppManifestParams; dapp?: LiveAppManifestDapp; homepageUrl: string; supportUrl?: string; icon?: string | null; platforms: AppPlatform[]; apiVersion: string; manifestVersion: string; branch: AppBranch; permissions: string[]; domains: string[]; categories: string[]; currencies: string[] | "*"; visibility: Visibility; highlight?: boolean; featureFlags?: string[] | "*"; storage?: string[]; providerTestBaseUrl?: string; providerTestId?: string; content: { cta?: TranslatableString; subtitle?: TranslatableString; shortDescription: TranslatableString; description: TranslatableString; }; }; export declare const DappProvidersSchema: z.ZodEnum<{ evm: "evm"; }>; export declare const LiveAppManifestParamsNetworkSchema: z.ZodObject<{ currency: z.ZodString; chainID: z.ZodNumber; nodeURL: z.ZodOptional; }, z.core.$strip>; export declare const LiveAppManifestDappSchema: z.ZodObject<{ provider: z.ZodEnum<{ evm: "evm"; }>; networks: z.ZodArray; }, z.core.$strip>>; nanoApp: z.ZodString; dependencies: z.ZodOptional>; }, z.core.$strip>; export declare const LiveAppManifestSchema: z.ZodObject<{ id: z.ZodString; author: z.ZodOptional; private: z.ZodOptional; cacheBustingId: z.ZodOptional; nocache: z.ZodOptional; name: z.ZodString; url: z.ZodString; dapp: z.ZodOptional; networks: z.ZodArray; }, z.core.$strip>>; nanoApp: z.ZodString; dependencies: z.ZodOptional>; }, z.core.$strip>>; homepageUrl: z.ZodString; supportUrl: z.ZodOptional; icon: z.ZodOptional>; platforms: z.ZodArray>; apiVersion: z.ZodString; manifestVersion: z.ZodString; branch: z.ZodEnum<{ debug: "debug"; stable: "stable"; experimental: "experimental"; soon: "soon"; }>; permissions: z.ZodOptional>; domains: z.ZodArray; categories: z.ZodArray; currencies: z.ZodUnion, z.ZodLiteral<"*">]>; visibility: z.ZodEnum<{ complete: "complete"; searchable: "searchable"; deep: "deep"; }>; highlight: z.ZodOptional; featureFlags: z.ZodOptional, z.ZodLiteral<"*">]>>; content: z.ZodObject<{ cta: z.ZodOptional>; subtitle: z.ZodOptional>; shortDescription: z.ZodRecord; description: z.ZodRecord; }, z.core.$strip>; }, z.core.$strict>; export type LiveAppManifestSchemaType = z.infer; export type PlatformApi = { fetchManifest: () => Promise; }; export type PlatformSignedTransaction = SignedOperation; export type ListPlatformAccount = (filters?: AccountFilters) => PlatformAccount[]; export type ListPlatformCurrency = (filters?: CurrencyFilters) => Promise; export type PlatformSupportedCurrency = CryptoCurrency | TokenCurrency; //# sourceMappingURL=types.d.ts.map