import * as react_jsx_runtime from 'react/jsx-runtime'; import React from 'react'; import { KeyUtilsConfig, KeyUtilsCallbacks, KeyWidgetTab, PlatformDownload, NodeKeyInfo, MintResult, FilingResult, FilingTrackerState, StackPayoutCapabilities, PayoutMethod } from '../types/index.js'; interface KeyUtilsContextValue { config: KeyUtilsConfig; callbacks: KeyUtilsCallbacks; } declare function useKeyUtilsContext(): KeyUtilsContextValue; interface KeyUtilsProviderProps { config: KeyUtilsConfig; callbacks?: KeyUtilsCallbacks; children: React.ReactNode; } declare function KeyUtilsProvider({ config, callbacks, children, }: KeyUtilsProviderProps): react_jsx_runtime.JSX.Element; interface BuyKeyWidgetProps extends KeyUtilsConfig, KeyUtilsCallbacks { defaultTab?: KeyWidgetTab; /** When provided, the filing flow surfaces an "Open filing" button that fires this. */ onViewFiling?: (filingId: string) => void; /** When provided, the filing flow surfaces a "Set up earnings account" CTA. */ onConfigureEarnings?: () => void; className?: string; style?: React.CSSProperties; } declare function BuyKeyWidget({ apiBaseUrl, stackId, stackName, paymentMethods, merchantWallet, stripePublicKey, theme, maxQuantity, keyImage, keyImageClass, aispImage, termsUrl, onMintSuccess, onMintError, onPaymentStart, onPaymentComplete, onListingCreated, onTransferComplete, onFilingComplete, onFilingError, defaultTab, onViewFiling, onConfigureEarnings, className, style, }: BuyKeyWidgetProps): react_jsx_runtime.JSX.Element; interface BuyPanelProps { className?: string; style?: React.CSSProperties; } declare function BuyPanel({ className, style }: BuyPanelProps): react_jsx_runtime.JSX.Element; interface UsePanelProps { downloads?: PlatformDownload[]; className?: string; style?: React.CSSProperties; } declare function UsePanel({ downloads, className, style }: UsePanelProps): react_jsx_runtime.JSX.Element; interface SellPanelProps { className?: string; style?: React.CSSProperties; } declare function SellPanel({ className, style }: SellPanelProps): react_jsx_runtime.JSX.Element; interface KeysPanelProps { /** * When provided, the filing success state in KeyDetailView shows an * "Open filing" button that fires this callback so the host can navigate * to /files/{filingId}. */ onViewFiling?: (filingId: string) => void; /** * When provided, the filing flow surfaces a "Set up earnings account" * affordance if the user hasn't connected a payout method yet — the host * should route to Settings → Account. */ onConfigureEarnings?: () => void; className?: string; style?: React.CSSProperties; } declare function KeysPanel({ onViewFiling, onConfigureEarnings, className, style }: KeysPanelProps): react_jsx_runtime.JSX.Element; interface KeyDetailViewProps { nodeKey: NodeKeyInfo; onBack: () => void; onKeysChanged?: () => void; /** * When provided, the filing success state shows an "Open filing" button * that fires this callback so the host can navigate to /files/{filingId}. */ onViewFiling?: (filingId: string) => void; /** * When provided, the filing flow surfaces a "Set up earnings account" * button if the user hasn't connected a payout method yet. The host * should navigate to Settings → Account. */ onConfigureEarnings?: () => void; className?: string; style?: React.CSSProperties; } declare function KeyDetailView({ nodeKey, onBack, onKeysChanged, onViewFiling, onConfigureEarnings, className, style }: KeyDetailViewProps): react_jsx_runtime.JSX.Element; interface BottomSheetProps { open: boolean; onClose: () => void; title?: string; children: React.ReactNode; } declare function BottomSheet({ open, onClose, title, children }: BottomSheetProps): react_jsx_runtime.JSX.Element | null; interface KeyListProps { getKeyHref?: string; showTabs?: boolean; className?: string; style?: React.CSSProperties; } declare function KeyList({ getKeyHref, showTabs, className, style }: KeyListProps): react_jsx_runtime.JSX.Element; interface KeyCardProps { nodeKey: NodeKeyInfo; className?: string; style?: React.CSSProperties; } declare function KeyCard({ nodeKey, className, style }: KeyCardProps): react_jsx_runtime.JSX.Element; interface KeyBalanceBarProps { current: number; max: number; className?: string; style?: React.CSSProperties; showLabel?: boolean; /** Number of segments in the ticker. Default 40. */ segments?: number; } declare function KeyBalanceBar({ current, max, className, style, showLabel, segments, }: KeyBalanceBarProps): react_jsx_runtime.JSX.Element; interface SolanaPayButtonProps { amountSol: number; onSuccess: (transactionId: string) => void; onError?: (error: Error) => void; disabled?: boolean; className?: string; style?: React.CSSProperties; } declare function SolanaPayButton({ amountSol, onSuccess, onError, disabled, className, style, }: SolanaPayButtonProps): react_jsx_runtime.JSX.Element; interface MintSuccessProps { result: MintResult; className?: string; style?: React.CSSProperties; } declare function MintSuccess({ result, className, style }: MintSuccessProps): react_jsx_runtime.JSX.Element | null; interface TransferPanelProps { className?: string; style?: React.CSSProperties; } declare function TransferPanel({ className, style }: TransferPanelProps): react_jsx_runtime.JSX.Element; interface FilePaperworkViewProps { /** The key id to file paperwork against. */ keyId: string; /** Called after a successful filing (after the inline tracker renders). */ onComplete?: (result: FilingResult) => void; /** Called when the user clicks the back affordance from the success state. */ onBack?: () => void; /** * Called when the user wants to view the standalone /files/{filingId} page. * When provided, the success state shows a "View filing" link that fires * this callback (e.g. host can `router.push` to that route). */ onViewFiling?: (filingId: string) => void; /** * Called when the user clicks the "set up earnings account" CTA shown * when no payout method is configured. The host should navigate to * Settings → Account so the user can connect a destination. */ onConfigureEarnings?: () => void; className?: string; style?: React.CSSProperties; } declare function FilePaperworkView({ keyId, onComplete, onBack, onViewFiling, onConfigureEarnings, className, style, }: FilePaperworkViewProps): react_jsx_runtime.JSX.Element; interface FilePaperworkListProps { /** Called when the user picks an eligible key to file. */ onSelect: (keyId: string) => void; className?: string; style?: React.CSSProperties; } declare function FilePaperworkList({ onSelect, className, style }: FilePaperworkListProps): react_jsx_runtime.JSX.Element; interface FilingDetailViewProps { filingId: string; className?: string; style?: React.CSSProperties; } declare function FilingDetailView({ filingId, className, style }: FilingDetailViewProps): react_jsx_runtime.JSX.Element; interface FilingTrackerProps { states: FilingTrackerState[]; className?: string; } declare function FilingTracker({ states, className }: FilingTrackerProps): react_jsx_runtime.JSX.Element; interface PayoutMethodPickerProps { caps: StackPayoutCapabilities; value: PayoutMethod; onChange: (method: PayoutMethod) => void; className?: string; disabled?: boolean; } declare function PayoutMethodPicker({ caps, value, onChange, className, disabled, }: PayoutMethodPickerProps): react_jsx_runtime.JSX.Element; interface TypingTextProps { text: string; /** ms per character; default 40. */ speedMs?: number; /** when false, snap to full text, no cursor. */ playing: boolean; className?: string; } /** * Terminal-typing animation: prints characters one at a time with a blinking * cursor trailing. When `playing` is false the cursor is hidden and we snap * to the full text — used for `done` headlines. * * Lifted from stripe-resolution; intentionally simple (one setTimeout per * char, no RAF). */ declare function TypingText({ text, speedMs, playing, className }: TypingTextProps): react_jsx_runtime.JSX.Element; interface PayoutAccountPanelProps { /** * Stack the Stripe Connect onboarding scopes to. Defaults to the * provider's `config.stackId`. Pass this explicitly when filing a key * whose originating stack differs from the host app's default — each * stack runs its own Stripe Connect platform and onboarding is a * one-row-per-(user, stack) operation. The Solana wallet is global * regardless of this prop. */ stackId?: string; /** Called after a successful connect/disconnect so the host can refresh derived UI. */ onChange?: () => void; className?: string; style?: React.CSSProperties; } declare function PayoutAccountPanel({ stackId, onChange, className, style }: PayoutAccountPanelProps): react_jsx_runtime.JSX.Element; declare const ASCII_KEY_ART: string[]; interface DefaultKeyArtProps { className?: string; style?: React.CSSProperties; color?: string; ariaLabel?: string; keyImage?: string; keyImageClass?: string; } declare function DefaultKeyArt({ className, style, color, ariaLabel, keyImage, keyImageClass, }: DefaultKeyArtProps): react_jsx_runtime.JSX.Element; export { ASCII_KEY_ART, BottomSheet, type BottomSheetProps, BuyKeyWidget, type BuyKeyWidgetProps, BuyPanel, type BuyPanelProps, DefaultKeyArt, type DefaultKeyArtProps, FilePaperworkList, type FilePaperworkListProps, FilePaperworkView, type FilePaperworkViewProps, FilingDetailView, type FilingDetailViewProps, FilingTracker, type FilingTrackerProps, KeyBalanceBar, type KeyBalanceBarProps, KeyCard, type KeyCardProps, KeyDetailView, type KeyDetailViewProps, KeyList, type KeyListProps, KeyUtilsProvider, type KeyUtilsProviderProps, KeysPanel, type KeysPanelProps, MintSuccess, type MintSuccessProps, PayoutAccountPanel, type PayoutAccountPanelProps, PayoutMethodPicker, type PayoutMethodPickerProps, SellPanel, type SellPanelProps, SolanaPayButton, type SolanaPayButtonProps, TransferPanel, type TransferPanelProps, TypingText, UsePanel, type UsePanelProps, useKeyUtilsContext };