import { ChainId, RequiredApprovalInterface } from '../../../Fct/generics'; import { Variable } from '../corelibTypes'; export declare const createApprovalsPlugin: ({ requiredApprovals, chainId, }: { chainId: ChainId; requiredApprovals?: RequiredApprovalInterface[] | undefined; }) => import("../..").NewPluginType<"ERC20", "ACTION", "approve", string | undefined, { input: { to: import("../../../Fct/generics").FctAddress; methodParams: { spender: import("../../../Fct/generics").FctAddress; amount: import("../../../Fct/generics").FctValue; }; }; output: {}; }, Partial<{ to: string | Variable | undefined; methodParams: unknown; }>> | { _plugins: import("../..").NewPluginType<"ERC20", "ACTION", "approve", string | undefined, { input: { to: import("../../../Fct/generics").FctAddress; methodParams: { spender: import("../../../Fct/generics").FctAddress; amount: import("../../../Fct/generics").FctValue; }; }; output: {}; }, Partial<{ to: string | Variable | undefined; methodParams: unknown; }>>[]; readonly chainId: ChainId; readonly type: import("./generic/Multicall").MulticallType; readonly protocol: "KIROBO_MULTICALL"; readonly method: import("./generic/Multicall").MulticallMethod; readonly name: import("./generic/Multicall").MulticallName; readonly toENS: string; readonly config: import("./generic/Multicall").MulticallConfig>[]>; getOutputValues: ({ provider, walletSigner, execute, withAutoApprovals, service, }: { provider: import("../../../Fct/generics").PluginProviderType; walletSigner?: any; execute?: boolean | undefined; withAutoApprovals?: boolean | undefined; service?: any; }) => Promise | { params: {}; error: string; }>; readonly contractInterface: string; readonly methodInterface: string; readonly methodInterfaceHash: string; readonly contractInterfaceReturns: string; readonly plugins: import("../..").NewPluginType<"ERC20", "ACTION", "approve", string | undefined, { input: { to: import("../../../Fct/generics").FctAddress; methodParams: { spender: import("../../../Fct/generics").FctAddress; amount: import("../../../Fct/generics").FctValue; }; }; output: {}; }, Partial<{ to: string | Variable | undefined; methodParams: unknown; }>>[]; readonly pluginsLength: number; _plugin: { new (args: { chainId: ChainId; initParams?: Partial<{ [x: string]: any; }> | undefined; walletAddress?: string | undefined; vaultAddress?: string | undefined; provider?: import("@ethersproject/providers").JsonRpcProvider | undefined; }): import("../..").NewPluginType>; } | { new (args: { chainId: ChainId; initParams?: Partial<{ [x: string]: any; }> | undefined; walletAddress?: string | undefined; vaultAddress?: string | undefined; provider?: import("@ethersproject/providers").JsonRpcProvider | undefined; }): import("../..").NewPluginType>; }[]; _protocol: "KIROBO_MULTICALL"; _type: import("./generic/Multicall").MulticallType; _method: import("./generic/Multicall").MulticallMethod; _name: import("./generic/Multicall").MulticallName; _config: import("./generic/Multicall").MulticallConfig>[]>; _chainId: ChainId; _vaultAddress?: string | undefined; _walletAddress?: string | undefined; _addPluginOnInit?: boolean | undefined; _withPluginOutputs?: boolean | undefined; _estimateGasFromPlugins?: ((plugins: import("../..").NewPluginType<"ERC20", "ACTION", "approve", string | undefined, { input: { to: import("../../../Fct/generics").FctAddress; methodParams: { spender: import("../../../Fct/generics").FctAddress; amount: import("../../../Fct/generics").FctValue; }; }; output: {}; }, Partial<{ to: string | Variable | undefined; methodParams: unknown; }>>[], chainId: ChainId) => string) | undefined; _beforeSimulate?: import("./generic/BeforeSimulate").BeforeSimulate | undefined; _flowType?: import("../../../Fct/generics").FlowType; readonly gasLimit: string; add: (pluginNodeJSON?: (import("../../../Fct/generics").JSONParams & string) | undefined) => any | undefined; remove: () => any; readonly input: import("../../../Fct/generics").Input<{ input: { [key: string]: import("../../../Fct/generics").FctParamType | { [key: string]: import("../../../Fct/generics").FctParamType; }; } & { to?: import("../../../Fct/generics").FctAddress | undefined; gasLimit?: import("../../../Fct/generics").FctValue | undefined; isOffChainOnly?: import("../../../Fct/generics").FctBoolean | undefined; value?: import("../../../Fct/generics").FctValue | undefined; } & { methodParams: { [key: string]: import("../../../Fct/generics").FctParamType; }; }; output: { [key: string]: import("../../../Fct/generics").FctParamType | { [key: string]: import("../../../Fct/generics").FctParamType; }; }; }, Partial<{ [x: string]: unknown; to?: unknown; gasLimit?: unknown; isOffChainOnly?: unknown; value?: unknown; methodParams: unknown; }>>; readonly output: import("../../../Fct/generics").Output<{ [key: string]: import("../../../Fct/generics").FctParamType | { [key: string]: import("../../../Fct/generics").FctParamType; }; }>; removeAll: () => any; toJSON: () => import("./generic/Multicall").MulticallPluginJSON; fromJSON: (multicallJSON: import("./generic/Multicall").MulticallPluginJSON) => boolean; jsonToPlugin: (plugin: import("../../../Fct/generics").JSONParams & string, chainId: ChainId) => import("../..").NewPluginType> | undefined; subscribe: ({ callback, id, }: { callback: (p: { instance: import("../..").NewPluginType<"KIROBO_MULTICALL", import("./generic/Multicall").MulticallType, import("./generic/Multicall").MulticallMethod, "erc20Airdrop" | "erc20Approvals" | "erc20MonoTransfers" | "erc20Transfers" | "transfers" | "multiBalance" | "multiAction" | "multiCall" | "multiValidate" | "multiGetOffchainData" | "multiMultiplier" | "multiDivider" | "multiSubtract" | "multiAdd" | "ethTransfers" | "approvedSwap" | "unwrapAndSendEth", { input: { [key: string]: import("../../../Fct/generics").FctParamType | { [key: string]: import("../../../Fct/generics").FctParamType; }; } & { to?: import("../../../Fct/generics").FctAddress | undefined; gasLimit?: import("../../../Fct/generics").FctValue | undefined; isOffChainOnly?: import("../../../Fct/generics").FctBoolean | undefined; value?: import("../../../Fct/generics").FctValue | undefined; } & { methodParams: { [key: string]: import("../../../Fct/generics").FctParamType; }; }; output: { [key: string]: import("../../../Fct/generics").FctParamType | { [key: string]: import("../../../Fct/generics").FctParamType; }; }; }, Partial<{ [x: string]: unknown; to?: unknown; gasLimit?: unknown; isOffChainOnly?: unknown; value?: unknown; methodParams: unknown; }>>; details: { plugin: { new (args: { chainId: ChainId; initParams?: Partial<{ [x: string]: unknown; to?: unknown; gasLimit?: unknown; isOffChainOnly?: unknown; value?: unknown; methodParams: unknown; }> | undefined; walletAddress?: string | undefined; vaultAddress?: string | undefined; provider?: import("@ethersproject/providers").JsonRpcProvider | undefined; }): import("../..").NewPluginType<"KIROBO_MULTICALL", import("./generic/Multicall").MulticallType, import("./generic/Multicall").MulticallMethod, "erc20Airdrop" | "erc20Approvals" | "erc20MonoTransfers" | "erc20Transfers" | "transfers" | "multiBalance" | "multiAction" | "multiCall" | "multiValidate" | "multiGetOffchainData" | "multiMultiplier" | "multiDivider" | "multiSubtract" | "multiAdd" | "ethTransfers" | "approvedSwap" | "unwrapAndSendEth", { input: { [key: string]: import("../../../Fct/generics").FctParamType | { [key: string]: import("../../../Fct/generics").FctParamType; }; } & { to?: import("../../../Fct/generics").FctAddress | undefined; gasLimit?: import("../../../Fct/generics").FctValue | undefined; isOffChainOnly?: import("../../../Fct/generics").FctBoolean | undefined; value?: import("../../../Fct/generics").FctValue | undefined; } & { methodParams: { [key: string]: import("../../../Fct/generics").FctParamType; }; }; output: { [key: string]: import("../../../Fct/generics").FctParamType | { [key: string]: import("../../../Fct/generics").FctParamType; }; }; }, Partial<{ [x: string]: unknown; to?: unknown; gasLimit?: unknown; isOffChainOnly?: unknown; value?: unknown; methodParams: unknown; }>>; }; name: import("./generic/Multicall").MulticallName; description: import("./generic/Multicall").MulticallName; }; }, errors: undefined, chainId: ChainId, gasLimit: string | undefined) => void; id: string; }) => void; unsubscribe: ({ id }: { id: string; }) => void; getInterface(prev?: { instance?: import("../../../Fct/generics").Plugin | undefined; } | undefined): { instance: import("../..").NewPluginType<"KIROBO_MULTICALL", import("./generic/Multicall").MulticallType, import("./generic/Multicall").MulticallMethod, "erc20Airdrop" | "erc20Approvals" | "erc20MonoTransfers" | "erc20Transfers" | "transfers" | "multiBalance" | "multiAction" | "multiCall" | "multiValidate" | "multiGetOffchainData" | "multiMultiplier" | "multiDivider" | "multiSubtract" | "multiAdd" | "ethTransfers" | "approvedSwap" | "unwrapAndSendEth", { input: { [key: string]: import("../../../Fct/generics").FctParamType | { [key: string]: import("../../../Fct/generics").FctParamType; }; } & { to?: import("../../../Fct/generics").FctAddress | undefined; gasLimit?: import("../../../Fct/generics").FctValue | undefined; isOffChainOnly?: import("../../../Fct/generics").FctBoolean | undefined; value?: import("../../../Fct/generics").FctValue | undefined; } & { methodParams: { [key: string]: import("../../../Fct/generics").FctParamType; }; }; output: { [key: string]: import("../../../Fct/generics").FctParamType | { [key: string]: import("../../../Fct/generics").FctParamType; }; }; }, Partial<{ [x: string]: unknown; to?: unknown; gasLimit?: unknown; isOffChainOnly?: unknown; value?: unknown; methodParams: unknown; }>>; details: { plugin: { new (args: { chainId: ChainId; initParams?: Partial<{ [x: string]: unknown; to?: unknown; gasLimit?: unknown; isOffChainOnly?: unknown; value?: unknown; methodParams: unknown; }> | undefined; walletAddress?: string | undefined; vaultAddress?: string | undefined; provider?: import("@ethersproject/providers").JsonRpcProvider | undefined; }): import("../..").NewPluginType<"KIROBO_MULTICALL", import("./generic/Multicall").MulticallType, import("./generic/Multicall").MulticallMethod, "erc20Airdrop" | "erc20Approvals" | "erc20MonoTransfers" | "erc20Transfers" | "transfers" | "multiBalance" | "multiAction" | "multiCall" | "multiValidate" | "multiGetOffchainData" | "multiMultiplier" | "multiDivider" | "multiSubtract" | "multiAdd" | "ethTransfers" | "approvedSwap" | "unwrapAndSendEth", { input: { [key: string]: import("../../../Fct/generics").FctParamType | { [key: string]: import("../../../Fct/generics").FctParamType; }; } & { to?: import("../../../Fct/generics").FctAddress | undefined; gasLimit?: import("../../../Fct/generics").FctValue | undefined; isOffChainOnly?: import("../../../Fct/generics").FctBoolean | undefined; value?: import("../../../Fct/generics").FctValue | undefined; } & { methodParams: { [key: string]: import("../../../Fct/generics").FctParamType; }; }; output: { [key: string]: import("../../../Fct/generics").FctParamType | { [key: string]: import("../../../Fct/generics").FctParamType; }; }; }, Partial<{ [x: string]: unknown; to?: unknown; gasLimit?: unknown; isOffChainOnly?: unknown; value?: unknown; methodParams: unknown; }>>; }; name: import("./generic/Multicall").MulticallName; description: import("./generic/Multicall").MulticallName; }; }; pluginParamsToMulticallParamsTuples: () => { inputs: { param: import("../../../Fct/generics").ParamsSchemas; key: string; }[][]; outputs: { param: import("../../../Fct/generics").ParamsSchemas; key: string; }[][]; uniqueParams: { param: import("../../../Fct/generics").ParamsSchemas; key: string; }[]; onchainParams: { param: import("../../../Fct/generics").ParamsSchemas; key: string; }[]; }; create: (isEstimation?: boolean | undefined, testProvider?: import("@ethersproject/providers").JsonRpcProvider | undefined) => Promise; setMethodParams(params: import("../../../Fct/generics").SetMethodParamsArgs): void; getOutputParamsTypes: () => string[] | (string | (string & import("../../../Fct/generics").TradingGraphPropsType))[][][]; setOutputParams(params: import("../../../Fct/generics").SetOutputParamsArgs): void; _getOutputValues: ({ provider, execute }: { provider: import("../../../Fct/generics").PluginProviderType; execute?: boolean | undefined; }) => Promise<{ trx: (string | boolean | string[])[]; gasLimit: any; } | { trx: import("@ethersproject/abi").Result[]; gasLimit: any; }>; getRequiredApprovals: (isEstimation?: boolean | undefined) => RequiredApprovalInterface[]; observers: Map>; details: { plugin: { new (args: { chainId: ChainId; initParams?: Partial<{ [x: string]: unknown; to?: unknown; gasLimit?: unknown; isOffChainOnly?: unknown; value?: unknown; methodParams: unknown; }> | undefined; walletAddress?: string | undefined; vaultAddress?: string | undefined; provider?: import("@ethersproject/providers").JsonRpcProvider | undefined; }): import("../..").NewPluginType<"KIROBO_MULTICALL", import("./generic/Multicall").MulticallType, import("./generic/Multicall").MulticallMethod, "erc20Airdrop" | "erc20Approvals" | "erc20MonoTransfers" | "erc20Transfers" | "transfers" | "multiBalance" | "multiAction" | "multiCall" | "multiValidate" | "multiGetOffchainData" | "multiMultiplier" | "multiDivider" | "multiSubtract" | "multiAdd" | "ethTransfers" | "approvedSwap" | "unwrapAndSendEth", { input: { [key: string]: import("../../../Fct/generics").FctParamType | { [key: string]: import("../../../Fct/generics").FctParamType; }; } & { to?: import("../../../Fct/generics").FctAddress | undefined; gasLimit?: import("../../../Fct/generics").FctValue | undefined; isOffChainOnly?: import("../../../Fct/generics").FctBoolean | undefined; value?: import("../../../Fct/generics").FctValue | undefined; } & { methodParams: { [key: string]: import("../../../Fct/generics").FctParamType; }; }; output: { [key: string]: import("../../../Fct/generics").FctParamType | { [key: string]: import("../../../Fct/generics").FctParamType; }; }; }, Partial<{ [x: string]: unknown; to?: unknown; gasLimit?: unknown; isOffChainOnly?: unknown; value?: unknown; methodParams: unknown; }>>; }; name: import("./generic/Multicall").MulticallName; description: import("./generic/Multicall").MulticallName; }; }, errors: undefined, chainId: ChainId, gasLimit: string | undefined) => void>; updateSubscriptions: () => void; currentGasLimit: string | undefined; _currentGasLimit: string | undefined; } | undefined;