import { APIResource } from "../core/resource.js"; import * as ClientAuthAPI from "./client-auth.js"; import * as EmbeddedWalletsAPI from "./embedded-wallets.js"; export declare class Apps extends APIResource { } /** * Confirmation response for deleting an allowlist entry. */ export interface AllowlistDeletionResponse { message: string; } /** * An allowlist entry for an app. */ export interface AllowlistEntry { id: string; acceptedAt: number | null; appId: string; type: string; value: string; } /** * Configuration for the allowlist error page shown to users not on the allowlist. */ export interface AppAllowlistConfig { cta_link: string | null; cta_text: string | null; error_detail: string | null; error_title: string | null; } /** * A custom OAuth provider configured for an app. */ export interface AppCustomOAuthProvider { enabled: boolean; /** * The ID of a custom OAuth provider, set up for this app. Must start with * "custom:". */ provider: ClientAuthAPI.CustomOAuthProviderID; provider_display_name: string; provider_icon_url: string; } /** * The response for getting an app. */ export interface AppResponse { id: string; accent_color: string | null; allowed_domains: Array; allowed_native_app_ids: Array; allowed_native_app_url_schemes: Array; /** * Configuration for the allowlist error page shown to users not on the allowlist. */ allowlist_config: AppAllowlistConfig; allowlist_enabled: boolean; apple_oauth: boolean; captcha_enabled: boolean; custom_api_url: string | null; custom_jwt_auth: boolean; custom_oauth_providers: Array; /** * Indicates that this response contains only publicly accessible data, not a * privileged resource */ data_classification: 'public'; disable_plus_emails: boolean; discord_oauth: boolean; email_auth: boolean; /** * Configuration for embedded wallets including the mode. */ embedded_wallet_config: EmbeddedWalletConfigSchema; /** * The captcha provider enabled for an app. */ enabled_captcha_provider: CaptchaProvider | null; enforce_wallet_uis: boolean; external_wallets_for_signup_enabled: boolean; farcaster_auth: boolean; farcaster_link_wallets_enabled: boolean; fiat_on_ramp_enabled: boolean; github_oauth: boolean; google_oauth: boolean; guest_auth: boolean; icon_url: string | null; instagram_oauth: boolean; legacy_wallet_ui_config: boolean; /** * The legal name of the company that operates the app. */ legal_name: string | null; line_oauth: boolean; linkedin_oauth: boolean; logo_url: string | null; max_linked_wallets_per_user: number | null; merge_accounts_by_email: boolean; mfa_methods: Array; name: string; passkey_auth: boolean; passkeys_for_signup_enabled: boolean; privacy_policy_url: string | null; require_users_accept_terms: boolean | null; show_wallet_login_first: boolean; /** * The configuration object for smart wallets. */ smart_wallet_config: EmbeddedWalletsAPI.SmartWalletConfiguration; sms_auth: boolean; solana_wallet_auth: boolean; spotify_oauth: boolean; telegram_auth: boolean; telegram_oauth: boolean; terms_and_conditions_url: string | null; theme: string; tiktok_oauth: boolean; twitch_oauth: boolean; twitter_oauth: boolean; twitter_oauth_on_mobile_enabled: boolean; verification_key: string; wallet_auth: boolean; wallet_connect_cloud_project_id: string | null; whatsapp_enabled: boolean; captcha_site_key?: string; /** * Configuration for funding and on-ramp options. */ funding_config?: FundingConfigResponseSchema; /** * Configuration for Telegram authentication. */ telegram_auth_config?: TelegramAuthConfigSchema; telegram_seamless_auth_enabled?: boolean; } /** * A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum). */ export type Caip2 = string; /** * The captcha provider enabled for an app. */ export type CaptchaProvider = 'turnstile' | 'hcaptcha'; /** * A crypto currency identified by a CAIP-2 chain ID and optional asset. */ export interface Currency { /** * A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for Ethereum). */ chain: Caip2; /** * A currency asset type. */ asset?: CurrencyAsset; } /** * A currency asset type. */ export type CurrencyAsset = 'native-currency' | 'USDC'; /** * An email domain. */ export type EmailDomain = string; /** * Allowlist invite input for an email domain. */ export interface EmailDomainInviteInput { type: 'emailDomain'; /** * An email domain. */ value: EmailDomain; } /** * Allowlist invite input for an email address. */ export interface EmailInviteInput { type: 'email'; value: string; } /** * Chain-specific configuration for embedded wallets. */ export interface EmbeddedWalletChainConfig { /** * Whether to create embedded wallets on login. */ create_on_login: EmbeddedWalletCreateOnLogin; } /** * Configuration for embedded wallets including the mode. */ export interface EmbeddedWalletConfigSchema extends EmbeddedWalletInputSchema { /** * The mode for embedded wallets. */ mode: EmbeddedWalletMode; } /** * Whether to create embedded wallets on login. */ export type EmbeddedWalletCreateOnLogin = 'users-without-wallets' | 'all-users' | 'off'; /** * Input configuration for embedded wallets. */ export interface EmbeddedWalletInputSchema { /** * Whether to create embedded wallets on login. */ create_on_login: EmbeddedWalletCreateOnLogin; /** * Chain-specific configuration for embedded wallets. */ ethereum: EmbeddedWalletChainConfig; /** * Chain-specific configuration for embedded wallets. */ solana: EmbeddedWalletChainConfig; user_owned_recovery_options: Array; require_user_owned_recovery_on_create?: boolean; require_user_password_on_create?: boolean; } /** * The mode for embedded wallets. */ export type EmbeddedWalletMode = 'legacy-embedded-wallets-only' | 'user-controlled-server-wallets-only'; /** * Configuration for funding and on-ramp options. */ export interface FundingConfigResponseSchema { cross_chain_bridging_enabled: boolean; default_recommended_amount: string; /** * A crypto currency identified by a CAIP-2 chain ID and optional asset. */ default_recommended_currency: Currency; methods: Array; options: Array; prompt_funding_on_wallet_creation: boolean; } /** * A funding method for on-ramp. */ export type FundingMethodEnum = 'moonpay' | 'coinbase-onramp' | 'external'; /** * A funding option with method and provider. */ export interface FundingOption { method: string; provider: string; } /** * Currency for gas spend values. */ export type GasSpendCurrency = 'usd'; /** * Query parameters for getting gas spend for a set of wallets. The time range from * `start_timestamp` to `end_timestamp` must not exceed 30 days. */ export interface GasSpendRequestBody { /** * Unix timestamp in milliseconds, exclusive. Must be greater than or equal to * `start_timestamp`, and the range from `start_timestamp` to `end_timestamp` must * not exceed 30 days. */ end_timestamp: number; /** * Unix timestamp in milliseconds, inclusive. Must be less than or equal to * `end_timestamp`, and the range from `start_timestamp` to `end_timestamp` must * not exceed 30 days. */ start_timestamp: number; /** * List of wallet IDs to query gas spend for. Maximum 100. */ wallet_ids: Array; } /** * Aggregated Privy gas credits charged for a set of wallets over a time range. */ export interface GasSpendResponseBody { /** * Currency for gas spend values. */ currency: GasSpendCurrency; /** * Total Privy credits charged as a decimal string. */ value: string; } /** * A multi-factor authentication method supported by the app. */ export type MfaMethod = 'sms' | 'totp' | 'passkey' | 'email'; /** * Allowlist invite input for a phone number. */ export interface PhoneInviteInput { type: 'phone'; value: string; } /** * Configuration for Telegram authentication. */ export interface TelegramAuthConfigSchema { bot_id: string; bot_name: string; link_enabled: boolean; seamless_auth_enabled: boolean; } /** * A test account for an app. */ export interface TestAccount { id: string; created_at: string; email: string; otp_code: string; phone_number: string; updated_at: string; name?: string | null; } /** * Response for listing test accounts for an app. */ export interface TestAccountsResponse { data: Array; } /** * Input for adding or removing an allowlist entry. Discriminated by type. */ export type UserInviteInput = EmailInviteInput | EmailDomainInviteInput | WalletInviteInput | PhoneInviteInput; /** * A user-owned recovery option for embedded wallets. */ export type UserOwnedRecoveryOption = 'user-passcode' | 'google-drive' | 'icloud'; /** * Allowlist invite input for a wallet address. */ export interface WalletInviteInput { type: 'wallet'; value: string; } export declare namespace Apps { export { type AllowlistDeletionResponse as AllowlistDeletionResponse, type AllowlistEntry as AllowlistEntry, type AppAllowlistConfig as AppAllowlistConfig, type AppCustomOAuthProvider as AppCustomOAuthProvider, type AppResponse as AppResponse, type Caip2 as Caip2, type CaptchaProvider as CaptchaProvider, type Currency as Currency, type CurrencyAsset as CurrencyAsset, type EmailDomain as EmailDomain, type EmailDomainInviteInput as EmailDomainInviteInput, type EmailInviteInput as EmailInviteInput, type EmbeddedWalletChainConfig as EmbeddedWalletChainConfig, type EmbeddedWalletConfigSchema as EmbeddedWalletConfigSchema, type EmbeddedWalletCreateOnLogin as EmbeddedWalletCreateOnLogin, type EmbeddedWalletInputSchema as EmbeddedWalletInputSchema, type EmbeddedWalletMode as EmbeddedWalletMode, type FundingConfigResponseSchema as FundingConfigResponseSchema, type FundingMethodEnum as FundingMethodEnum, type FundingOption as FundingOption, type GasSpendCurrency as GasSpendCurrency, type GasSpendRequestBody as GasSpendRequestBody, type GasSpendResponseBody as GasSpendResponseBody, type MfaMethod as MfaMethod, type PhoneInviteInput as PhoneInviteInput, type TelegramAuthConfigSchema as TelegramAuthConfigSchema, type TestAccount as TestAccount, type TestAccountsResponse as TestAccountsResponse, type UserInviteInput as UserInviteInput, type UserOwnedRecoveryOption as UserOwnedRecoveryOption, type WalletInviteInput as WalletInviteInput, }; } //# sourceMappingURL=apps.d.ts.map