/**
 * SailKernel ABI — only the functions and events the SDK calls.
 * Mirrors contracts/core/SailKernel.sol in SailProtocol.
 *
 * The `Call` tuple is (address target, uint256 value, bytes data), matching
 * the `Call` struct in IBatchPermission.sol.
 */
export declare const SailKernelAbi: readonly [{
    readonly type: "function";
    readonly name: "createAccount";
    readonly stateMutability: "nonpayable";
    readonly inputs: readonly [{
        readonly name: "safeFactory";
        readonly type: "address";
    }, {
        readonly name: "safeSingleton";
        readonly type: "address";
    }, {
        readonly name: "safeInitializer";
        readonly type: "bytes";
    }, {
        readonly name: "saltNonce";
        readonly type: "uint256";
    }, {
        readonly name: "permissionSigner";
        readonly type: "address";
    }, {
        readonly name: "manager";
        readonly type: "address";
    }, {
        readonly name: "feePolicy";
        readonly type: "address";
    }, {
        readonly name: "feeAsset";
        readonly type: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }];
}, {
    readonly type: "function";
    readonly name: "registerAccount";
    readonly stateMutability: "nonpayable";
    readonly inputs: readonly [{
        readonly name: "permissionSigner";
        readonly type: "address";
    }, {
        readonly name: "manager";
        readonly type: "address";
    }, {
        readonly name: "feePolicy";
        readonly type: "address";
    }];
    readonly outputs: readonly [];
}, {
    readonly type: "function";
    readonly name: "setManager";
    readonly stateMutability: "nonpayable";
    readonly inputs: readonly [{
        readonly name: "newManager";
        readonly type: "address";
    }];
    readonly outputs: readonly [];
}, {
    readonly type: "function";
    readonly name: "getManager";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
    }];
}, {
    readonly type: "function";
    readonly name: "registerPermission";
    readonly stateMutability: "payable";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly name: "permission";
        readonly type: "address";
    }, {
        readonly name: "sig";
        readonly type: "bytes";
    }];
    readonly outputs: readonly [];
}, {
    readonly type: "function";
    readonly name: "registerPermissions";
    readonly stateMutability: "payable";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly name: "permissions";
        readonly type: "address[]";
    }, {
        readonly name: "deadline";
        readonly type: "uint256";
    }, {
        readonly name: "sig";
        readonly type: "bytes";
    }];
    readonly outputs: readonly [];
}, {
    readonly type: "function";
    readonly name: "dispatch";
    readonly stateMutability: "nonpayable";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly name: "permission";
        readonly type: "address";
    }, {
        readonly name: "target";
        readonly type: "address";
    }, {
        readonly name: "value";
        readonly type: "uint256";
    }, {
        readonly name: "data";
        readonly type: "bytes";
    }, {
        readonly name: "managerSig";
        readonly type: "bytes";
    }, {
        readonly name: "deadline";
        readonly type: "uint256";
    }];
    readonly outputs: readonly [];
}, {
    readonly type: "function";
    readonly name: "dispatchBatch";
    readonly stateMutability: "nonpayable";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly name: "permission";
        readonly type: "address";
    }, {
        readonly name: "calls";
        readonly type: "tuple[]";
        readonly components: readonly [{
            readonly name: "target";
            readonly type: "address";
        }, {
            readonly name: "value";
            readonly type: "uint256";
        }, {
            readonly name: "data";
            readonly type: "bytes";
        }];
    }, {
        readonly name: "managerSig";
        readonly type: "bytes";
    }, {
        readonly name: "deadline";
        readonly type: "uint256";
    }];
    readonly outputs: readonly [];
}, {
    readonly type: "function";
    readonly name: "previewBatch";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly name: "permission";
        readonly type: "address";
    }, {
        readonly name: "calls";
        readonly type: "tuple[]";
        readonly components: readonly [{
            readonly name: "target";
            readonly type: "address";
        }, {
            readonly name: "value";
            readonly type: "uint256";
        }, {
            readonly name: "data";
            readonly type: "bytes";
        }];
    }];
    readonly outputs: readonly [{
        readonly name: "approved";
        readonly type: "bool";
    }, {
        readonly name: "reason";
        readonly type: "string";
    }];
}, {
    readonly type: "function";
    readonly name: "collectFees";
    readonly stateMutability: "nonpayable";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly name: "grossFee";
        readonly type: "uint256";
    }, {
        readonly name: "currentNav";
        readonly type: "uint256";
    }, {
        readonly name: "feeToken";
        readonly type: "address";
    }];
    readonly outputs: readonly [];
}, {
    readonly type: "function";
    readonly name: "recordDeposit";
    readonly stateMutability: "nonpayable";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly name: "amount";
        readonly type: "uint256";
    }];
    readonly outputs: readonly [];
}, {
    readonly type: "function";
    readonly name: "recordWithdrawal";
    readonly stateMutability: "nonpayable";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly name: "amount";
        readonly type: "uint256";
    }];
    readonly outputs: readonly [];
}, {
    readonly type: "function";
    readonly name: "getPermissions";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address[]";
    }];
}, {
    readonly type: "function";
    readonly name: "getPermissionsWithInfo";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "infos";
        readonly type: "tuple[]";
        readonly components: readonly [{
            readonly name: "permission";
            readonly type: "address";
        }, {
            readonly name: "isBatch";
            readonly type: "bool";
        }, {
            readonly name: "hasIntrospection";
            readonly type: "bool";
        }, {
            readonly name: "permissionId";
            readonly type: "bytes32";
        }, {
            readonly name: "permissionVersion";
            readonly type: "bytes32";
        }];
    }];
}, {
    readonly type: "function";
    readonly name: "isPermissionRegistered";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly name: "permission";
        readonly type: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
    }];
}, {
    readonly type: "function";
    readonly name: "configs";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "permissionSigner";
        readonly type: "address";
    }, {
        readonly name: "manager";
        readonly type: "address";
    }, {
        readonly name: "feePolicy";
        readonly type: "address";
    }, {
        readonly name: "sessionActive";
        readonly type: "bool";
    }];
}, {
    readonly type: "function";
    readonly name: "registered";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
    }];
}, {
    readonly type: "function";
    readonly name: "managerNonces";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
    }];
}, {
    readonly type: "function";
    readonly name: "batchNonces";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
    }];
}, {
    readonly type: "function";
    readonly name: "signerNonces";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
    }];
}, {
    readonly type: "event";
    readonly name: "AccountRegistered";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
        readonly indexed: true;
    }, {
        readonly name: "permissionSigner";
        readonly type: "address";
        readonly indexed: true;
    }, {
        readonly name: "manager";
        readonly type: "address";
        readonly indexed: true;
    }];
}, {
    readonly type: "event";
    readonly name: "PermissionRegistered";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
        readonly indexed: true;
    }, {
        readonly name: "permission";
        readonly type: "address";
        readonly indexed: true;
    }];
}, {
    readonly type: "event";
    readonly name: "ManagerChanged";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
        readonly indexed: true;
    }, {
        readonly name: "oldManager";
        readonly type: "address";
        readonly indexed: true;
    }, {
        readonly name: "newManager";
        readonly type: "address";
        readonly indexed: true;
    }];
}, {
    readonly type: "event";
    readonly name: "PermissionRevoked";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
        readonly indexed: true;
    }, {
        readonly name: "permission";
        readonly type: "address";
        readonly indexed: true;
    }];
}, {
    readonly type: "event";
    readonly name: "Dispatched";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
        readonly indexed: true;
    }, {
        readonly name: "permission";
        readonly type: "address";
        readonly indexed: true;
    }, {
        readonly name: "target";
        readonly type: "address";
        readonly indexed: false;
    }, {
        readonly name: "selector";
        readonly type: "bytes4";
        readonly indexed: false;
    }, {
        readonly name: "value";
        readonly type: "uint256";
        readonly indexed: false;
    }];
}, {
    readonly type: "event";
    readonly name: "BatchDispatched";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
        readonly indexed: true;
    }, {
        readonly name: "permission";
        readonly type: "address";
        readonly indexed: true;
    }, {
        readonly name: "batchHash";
        readonly type: "bytes32";
        readonly indexed: false;
    }, {
        readonly name: "callCount";
        readonly type: "uint256";
        readonly indexed: false;
    }];
}];
//# sourceMappingURL=SailKernel.d.ts.map