import type { AccountsControllerState } from "@metamask/accounts-controller"; import type { GenericQuoteRequest, QuoteMetadata, QuoteRequest, QuoteResponseV1, TxData } from "../../types.mjs"; import { FeatureId } from "../../types.mjs"; import { MetricsSwapType } from "./constants.mjs"; import type { AccountHardwareType, InputKeys, InputValues, QuoteWarning, RequestParams } from "./types.mjs"; export declare const toInputChangedPropertyKey: Partial>; export declare const toInputChangedPropertyValue: Partial) => InputValues[keyof InputValues] | undefined>>; export declare const getSwapType: (srcChainId?: GenericQuoteRequest['srcChainId'], destChainId?: GenericQuoteRequest['destChainId']) => MetricsSwapType; export declare const getSwapTypeFromQuote: (quoteRequest: Partial) => MetricsSwapType; export declare const formatProviderLabel: ({ bridgeId, bridges, }: QuoteResponseV1['quote']) => `${string}_${string}`; /** * @param quoteRequest - The current quote request used to derive chain and token identity fields. * @param quoteRequest.srcChainId - Source chain id of the quote request. * @param quoteRequest.destChainId - Destination chain id of the quote request. * @param quoteRequest.srcTokenAddress - Source token address of the quote request. * @param quoteRequest.destTokenAddress - Destination token address of the quote request. * @param tokenSecurityTypeDestination - The security classification of the destination token, * supplied by the client (e.g. from token security/scanning data). Pass `null` when no * security data is available for the selected destination token. * @returns The analytics request params derived from the quote request. Token symbols are * omitted because the quote request only stores addresses; use * {@link getQuotesReceivedProperties} when building a `QuotesReceived` payload. */ export declare const getRequestParams: ({ srcChainId, destChainId, srcTokenAddress, destTokenAddress, }: Partial, tokenSecurityTypeDestination: string | null) => Omit; export declare const getAccountHardwareType: (selectedAccount?: AccountsControllerState['internalAccounts']['accounts'][string]) => AccountHardwareType; export declare const isHardwareWallet: (selectedAccount?: AccountsControllerState['internalAccounts']['accounts'][string]) => boolean; /** * @param slippage - The slippage percentage * @returns Whether the default slippage was overridden by the user * * @deprecated This function should not be used. Use {@link selectDefaultSlippagePercentage} instead. */ export declare const isCustomSlippage: (slippage: GenericQuoteRequest['slippage']) => boolean; export declare const getQuotesReceivedProperties: (activeQuote: null | (QuoteResponseV1 & QuoteMetadata), warnings?: QuoteWarning[], isSubmittable?: boolean, recommendedQuote?: null | (QuoteResponseV1 & QuoteMetadata), usdBalanceSource?: number, hasSufficientGasForQuote?: boolean | null) => { feature_id: FeatureId; has_sufficient_gas_for_quote?: boolean | null | undefined; can_submit: boolean; gas_included: boolean; gas_included_7702: boolean; quoted_time_minutes: number; usd_quoted_gas: number; usd_quoted_return: number; usd_balance_source: number; best_quote_provider: `${string}_${string}`; provider: `${string}_${string}`; token_symbol_source: string; token_symbol_destination: string | null; warnings: QuoteWarning[]; price_impact: number; }; //# sourceMappingURL=properties.d.mts.map