import type { PaymasterTimeBounds } from "starknet"; import type { AccountClassConfig, AccountConfig, DeployMode, FeeMode, ProgressEvent, ProviderOptions } from "../types/wallet.js"; import type { ExplorerConfig } from "../types/config.js"; import type { WalletInterface } from "../wallet/interface.js"; import type { AccountPresetName } from "../account/presets.js"; type PrivySigningHeaders = Record | (() => Record | Promise>); type PrivySigningBody = (params: Readonly<{ walletId: string; hash: string; }>) => Record | Promise>; export declare const OnboardStrategy: { readonly Signer: "signer"; readonly Privy: "privy"; readonly Cartridge: "cartridge"; }; export type OnboardStrategy = (typeof OnboardStrategy)[keyof typeof OnboardStrategy]; export interface OnboardBaseOptions extends ProviderOptions { feeMode?: FeeMode; timeBounds?: PaymasterTimeBounds; deploy?: DeployMode; onProgress?: (event: ProgressEvent) => void; } export interface OnboardPrivyResolveResult { walletId: string; publicKey: string; serverUrl?: string; rawSign?: (walletId: string, messageHash: string) => Promise; headers?: PrivySigningHeaders; buildBody?: PrivySigningBody; requestTimeoutMs?: number; metadata?: Record; } export interface OnboardSignerOptions extends OnboardBaseOptions { strategy: typeof OnboardStrategy.Signer; account: AccountConfig; accountPreset?: AccountPresetName | AccountClassConfig; } export interface OnboardPrivyOptions extends OnboardBaseOptions { strategy: typeof OnboardStrategy.Privy; privy: { resolve: () => Promise; }; accountPreset?: AccountPresetName | AccountClassConfig; } export interface OnboardCartridgeOptions extends OnboardBaseOptions { strategy: typeof OnboardStrategy.Cartridge; cartridge?: OnboardCartridgeConfig; } export interface OnboardCartridgeConfig { policies?: Array<{ target: string; method: string; }>; preset?: string; url?: string; explorer?: ExplorerConfig; } export type OnboardOptions = OnboardSignerOptions | OnboardPrivyOptions | OnboardCartridgeOptions; export interface OnboardResult { wallet: TWallet; strategy: OnboardStrategy; deployed: boolean; metadata?: Record; } export {}; //# sourceMappingURL=onboard.d.ts.map