import type { Principal } from '@dfinity/principal'; import type { ActorMethod } from '@dfinity/agent'; import type { IDL } from '@dfinity/candid'; export type AccountState = { ft: bigint }; export type AccountType = { ft: AssetId }; export type AssetId = bigint; export type FtSupply = bigint; export type FtTransferErrors = | { DeletedVirtualAccount: null } | { InvalidArguments: string } | { InsufficientFunds: null }; export type GidStatus = { dropped: {} } | { awaited: {} } | { processed: [[] | [TxResult]] }; export type GlobalId = [bigint, bigint]; export type IdRange = [bigint, [] | [bigint]]; export type IdSelector = { id: bigint } | { cat: Array<{ id: bigint } | { idRange: IdRange }> } | { idRange: IdRange }; export interface LedgerAdminAPI { adminAccountInfo: ActorMethod<[IdSelector], Array<[SubId, AccountType]>>; adminState: ActorMethod< [ { ftSupplies: [] | [IdSelector]; virtualAccounts: [] | [IdSelector]; accounts: [] | [IdSelector]; remoteAccounts: [] | [RemoteSelector]; }, ], { ftSupplies: Array<[AssetId, FtSupply]>; virtualAccounts: Array<[VirId, [AccountState, SubId, Time]]>; accounts: Array<[SubId, AccountState]>; remoteAccounts: Array<[RemoteId, [AccountState, Time]]>; } >; nAdminAccounts: ActorMethod<[], bigint>; } export type ProcessingError = { ftTransfer: FtTransferErrors }; export type RemoteId = [Principal, VirId]; export type RemoteIdRange = [Principal, bigint, [] | [bigint]]; export type RemoteSelector = | { id: RemoteId } | { cat: Array<{ id: RemoteId } | { idRange: RemoteIdRange }> } | { idRange: RemoteIdRange }; export type SubId = bigint; export type Time = bigint; export type TxOutput = { ftTransfer: { fee: bigint; amount: bigint } }; export type TxResult = { failure: ProcessingError } | { success: TxOutput }; export type VirId = bigint; export interface _SERVICE extends LedgerAdminAPI {} export declare const idlFactory: IDL.InterfaceFactory;