import { IDL } from '@dfinity/candid'; import type { Principal } from '@dfinity/principal'; export declare class TokenIDL { static readonly factory: IDL.InterfaceFactory; } export declare namespace TokenIDL { interface Metadata { fee: bigint; decimals: number; owner: Principal; logo: string; name: string; totalSupply: bigint; symbol: string; } type Result = { Ok: bigint; } | { Err: TxError; }; interface TokenInfo { holderNumber: bigint; deployTime: bigint; metadata: Metadata; historySize: bigint; cycles: bigint; feeTo: Principal; } type TxError = { InsufficientAllowance: null; } | { InsufficientBalance: null; } | { ErrorOperationStyle: null; } | { Unauthorized: null; } | { LedgerTrap: null; } | { ErrorTo: null; } | { Other: null; } | { BlockUsed: null; } | { AmountTooSmall: null; }; interface Token { allowance: (arg_0: Principal, arg_1: Principal) => Promise; approve: (arg_0: Principal, arg_1: bigint) => Promise; balanceOf: (arg_0: Principal) => Promise; decimals: () => Promise; getAllowanceSize: () => Promise; getBlockUsed: () => Promise>; getHolders: (arg_0: bigint, arg_1: bigint) => Promise>; logo: () => Promise; getMetadata: () => Promise; getTokenInfo: () => Promise; getUserApprovals: (arg_0: Principal) => Promise>; historySize: () => Promise; isBlockUsed: (arg_0: bigint) => Promise; mint: (arg_0: [] | [Array], arg_1: bigint) => Promise; name: () => Promise; owner: () => Promise; setFee: (arg_0: bigint) => Promise; setFeeTo: (arg_0: Principal) => Promise; setGenesis: () => Promise; setLogo: (arg_0: string) => Promise; setName: (arg_0: string) => Promise; setOwner: (arg_0: Principal) => Promise; symbol: () => Promise; totalSupply: () => Promise; transfer: (arg_0: Principal, arg_1: bigint) => Promise; transferFrom: (arg_0: Principal, arg_1: Principal, arg_2: bigint) => Promise; withdraw: (arg_0: bigint, arg_1: string) => Promise; } type Factory = Token; }