import { ActorSubclass } from "@dfinity/agent"; import type { Result } from "neverthrow"; import type { IDL } from "@dfinity/candid"; declare type CustomError = { kind: T; message?: string; }; export declare enum CreateActorError { FetchRootKeyFailed = "FETCH_ROOT_KEY_FAILED", CreateActorFailed = "CREATE_ACTOR_FAILED", NotInitialized = "NOT_INITIALIZED", LocalActorsNotSupported = "LOCAL_ACTORS_NOT_SUPPORTED" } export declare type CreateActorResult = Result, CustomError>; export declare enum ConnectError { NotInitialized = "NOT_INITIALIZED", NotInstalled = "NOT_INSTALLED", ConnectFailed = "CONNECT_FAILED", IsLocked = "IS_LOCKED" } export declare type ConnectResult = Result>; export declare enum DisconnectError { DisconnectFailed = "DISCONNECT_FAILED", NotInitialized = "NOT_INITIALIZED" } export declare type DisconnectResult = Result>; export declare enum InitError { NotInstalled = "NOT_INSTALLED", InitFailed = "INIT_FAILED", FetchRootKeyFailed = "FETCH_ROOT_KEY_FAILED" } export declare type InitResult = Result<{ isConnected: boolean; }, CustomError>; export interface IConnector { init: () => Promise; config: any; meta: { features: Array; icon: { light: string; dark: string; }; id: string; name: string; }; isConnected: () => Promise; createActor: (canisterId: string, interfaceFactory: IDL.InterfaceFactory, config?: {}) => Promise>; connect: (options?: { delegationModes: Array; }) => Promise; disconnect: () => Promise; principal?: string; } export declare enum BalanceError { NotInitialized = "NOT_INITIALIZED", QueryBalanceFailed = "QUERY_BALANCE_FAILED" } export declare type BalanceResult = Result, CustomError>; export declare enum TokensError { NotInitialized = "NOT_INITIALIZED", QueryBalanceFailed = "QUERY_BALANCE_FAILED" } export declare type TokensResult = Result, CustomError>; export declare enum NFTsError { NotInitialized = "NOT_INITIALIZED", QueryBalanceFailed = "QUERY_BALANCE_FAILED" } export declare type NFTsResult = Result, CustomError>; export declare enum TransferError { InsufficientBalance = "INSUFFICIENT_BALANCE", TransferFailed = "TRANSFER_FAILED", FaultyAddress = "FAULTY_ADDRESS", NotInitialized = "NOT_INITIALIZED", TokenNotSupported = "TOKEN_NOT_SUPPORTED", NotConnected = "NOT_CONNECTED" } export declare type TransferResult = Result<{ height?: number; transactionId?: string; }, CustomError>; export declare type NFTTransferResult = Result<{ transactionId?: string; }, CustomError>; export declare enum SignError { NotConnected = "NOT_CONNECTED", NotInitialized = "NOT_INITIALIZED" } export declare type SignResult = Result<{ height: number; }, CustomError>; export interface IWalletConnector { requestTransfer: (args: { amount: number; to: string; symbol?: string; standard?: string; decimals?: number; fee?: number; memo?: bigint; createdAtTime?: Date; fromSubAccount?: number; }) => Promise; requestTransferNFT?: (args: { to: string; tokenIdentifier: string; tokenIndex: number; canisterId: string; standard: "ICP" | "DIP20" | "EXT" | "DRC20" | string; fee?: number; memo?: bigint; createdAtTime?: Date; fromSubAccount?: number; }) => Promise; wallets: Array<{ accountId: string; principal: string; }>; queryBalance: () => Promise; signMessage?: (any: any) => Promise; } export {};